Putty freezes at random when logging into a remote machine in another continent

The freezing might be a timeout problem. Unfortunatly there seems to be no easy way to fix that, this is all I found on it: Putty FAQ

If this helps that's well and good. But if you want to minimize problems with disconnects you should really start using screen The Persistence feature described below should be particularly interesting.

From wikipedia:

Features
GNU Screen can be thought of as a text version of graphical window managers, or as a way of putting virtual terminals into any login session. It is a wrapper that allows multiple text programs to run at the same time, and provides features that allow the user to use the programs within a single interface productively.

Persistence
Similar to VNC, GNU Screen allows the user to start applications from one computer, and then reconnect from a different computer and continue using the same application without having to restart it. This makes migration between locations like work and home simple. Screen provides terminal-agnostic functionality so that users can disconnect and reconnect using different terminal types, allowing applications to continue running without being aware of the change in terminals.

Multiple windows
Multiple terminal sessions can be created, each of which usually runs a single application. The windows are numbered, and the user can use the keyboard to switch between them. Some GUI terminal emulators provide tabs or otherwise similar functionality to this. Each window has its own scroll-back buffer, so that output is captured even when the window isn't actively displayed, and that history can be saved even when migrating to another computer. Windows can be split-screened. While some text applications have this functionality built in, Screen allows any application to be split-screened alongside any number of other applications.

Session Sharing
Screen allows multiple computers to connect to the same session at once, allowing collaboration between multiple users. The same computer can also be used to make multiple simultaneous connections, providing alternative functionality to screen-splitting, particularly for computers with multiple monitors.


You can have Putty send keep-alive type packets every so often by following the tutorial at http://breakablelinux.blogspot.com/2007/12/preventing-putty-timeouts.html

If the first poster is correct, you can increase the timeout with the following registry edit which should mean less disconnects.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"TcpMaxDataRetransmissions"=dword:00000010

If you believe that the issue is putty, try another SSH client such as poderosa


The easiest solution I've found is to press ctrl-q which resumes the flow control.

Normally you press ctrl-s for saving, which I find highly annoying in putty, I thought it was freezing up at first, but it's actually turning off flow control, ctrl-q turns it back on again.