I know that you can grab files with scp like this:

scp user@remote_machine:/path/to/source /path/to/destination

However, I'd like to know if there is an easier way to do this, when I'm already logged on in ssh on the remote machine - that is, to avoid specifying username, hostname and absolute path to source?

link|improve this question

67% accept rate
Something like this? - superuser.com/questions/291034/… – Bibhas Jan 19 at 9:10
@Bibhas, yes, but it doesn't provide an easier way to solve the problem... – Septagram Jan 20 at 8:03
feedback

2 Answers

up vote 2 down vote accepted

Maybe zssh?

zssh (Zmodem SSH) is a program for interactively transferring files to a remote machine while using the secure shell (ssh). It is intended to be a convenient alternative to scp , allowing to transfer files without having to open another session and re-authenticate oneself.

zssh is an interactive wrapper for ssh

It uses the venerable rz, sz implementations of zmodem file transfer.

link|improve this answer
Thanks, this is the best solution so far. It is a bit inconvenient, but gets the job done. Do you happen to know how to transfer directories recursively? find -type f | xargs sz didn't help me for some weird reason, the only way I found was to compress them into some kind of archive, like this: tar c directory/ | sz -. – Septagram Jan 20 at 8:39
feedback

You could add the host information to your ~/.ssh/config, something like:

Host            foo
HostName        foo.baz.com
User            bar

And then you can do scp foo:~/path/to/file instead of scp bar@foo:~/path/to/file, or alternatively you can setup an alias or function to do the same thing.

As for your actual question, I don't know. scp creates a new connection to transfer files and doesn't use the existing ssh connection.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.