
ZModem, YModem, XModem, Kermit and ASCII - SecureCRT is an old-school sort of terminal emulator, supporting several in-band file transfer protocols. SecureCRT has three major features for transferring files to and from a system you are SSH'd into:
SSH COPY A DIRECOTY MAC OS X
SecureCRT started out as a pure Windows program in the mid-1990s but was ported to Mac OS X and Linux a couple of years ago. There simply is no direct replacement in the F/OSS world.

SSH COPY A DIRECOTY SOFTWARE
One of the many reasons we use SecureCRT - despite preferring open source software where practical - is the ease of doing file transfers. Probably more complicated than you'd like, but I can't think of another easy way. Ssh> !scp file technically never left the ssh session, and don't need to re-authenticate. You can re-use the same ssh session if you set up a ControlMaster in ssh_config. Note that you'll need to have PermitLocalCommand enabled in your /etc/ssh_config file in order for the ~C commands to work (see man ssh_config). The !args seems to be closest to what you want. Rport:host:hostport Request remote forward Lport:host:hostport Request local forward (Note that escapes are only recognized immediately after newline.) ~~ - send the escape character by typing it twice

~& - background ssh (when waiting for connections to terminate) terminate connection (and any multiplexed sessions) SSH does support a few commands, via the escape character ( ~ by default): $ ~? If you want to preserve the file name and metadata, copy-paste an archive. You can pipe data in and out of xclip or xsel. More conveniently, if you have X forwarding active, copy the file on the remote machine and paste it locally. If the file contains non-printable characters, use an encoding such as base64. If the file is small, you can type it out and copy-paste from the terminal output. There is also some interesting information in this Server Fault thread.
SSH COPY A DIRECOTY MANUAL
See “Escape characters” in the manual for more information. Type Enter ~C Enter -R 22042:localhost:22 Enter.

If you haven't enabled a remote forwarding from the start, you can do it on an existing ssh session. The problem with this is that if you connect to the same computer with multiple instances of ssh, or if someone else is using the port, you don't get the forwarding. You can automate this further with RemoteForward 22042 localhost:22. Then ssh -p 22042 localhost on the remote machine connects you back to the source machine you can use scp -P 22042 foo localhost: to copy files. On the ssh command line, create a remote forwarding by passing -R 22042:localhost:22 where 22042 is a randomly chosen number that's different from any other port number on the remote machine. On an existing connection, you can establish a reverse ssh tunnel. So while you have your active connection, you can quickly: Establishing the second connection requires no new authentication and is very fast. If you start an ssh session to the same (user, port, machine) as an existing connection, the second session will be tunneled over the first. In your ~/.ssh/config, set up connection sharing to happen automatically: ControlMaster auto For subsequent connections, route slave connections through the existing master connection.
