Kermit makes a nice wrapper around ssh, allowing in-band file transfers. This can be very handy.
You can very easily use something like this:
kermit -C 'ssh user@host'
Now, you are logged in to the remote host, using the same OpenSSH you always use. You can happily do all your work as usual. Now let’s say you’re at the shell, you’ve been editing a file on the remote end, and you’d like to copy it to your local machine.
In a traditional setup, you’d open a new local window, then have to copy the full path name and run scp to bring it across. With Kermit, you can just type this at your shell prompt:
kermit -Iis filename.tar.gz
It will send a special byte sequence that your local kermit will pick up on, and enter transfer mode. The file will be transferred, complete with integrity checking. Then you’ll be right back at your shell.
You can even send directories:
cd /usr/share/doc
kermit -Ii -C 'send /recursive libthreadar-dev, exit'
Here we gave a short Kermit script with -C. send is a Kermit command, and this tells it to send the file, then exit.
OpenKermit has a page with a lot more detail on use of Kermit as a ssh wrapper, including some advanced options like streaming tar over Kermit.
Links to this note
Kermit (and its main implementation in ckermit) is: