I happily use both ssh and scp.

Quite often I am in an ssh session and I'd like to retrieve a file from my machine and put it in the directory I'm currently in without having to open a new terminal window and work out the scp command. So effectively i'd like to be able to do this:

remotemachine#scp homeconnection:thisfile.txt .

without opening an scp server on my machine. Is it possible to use the open ssh connection to do the copy or am I stuck going in and out of ssh?



1 Answer 1


To recieve file

ssh user@remotehost.com cat > localfile "<" remotefile
ssh user@remotehost.com "cat remotefile" | cat > localfile

To send a file

ssh user@remotehost.com cat < localfile ">" remotefile
cat localfile | ssh user@remotehost.com "cat > remotefile"

  • Don't those have to be run from outside of the ssh session I'm in? like scp?
    – Joe
    Jan 7, 2015 at 19:53
  • Yes. Technically no as you could ssh into your own machine and run the commands but that would be pointless. After re-reading your question the answer is no. You could press ctrl+z to backgroud the session then run scp. then type fg to bring your ssh session back up. You could also setup remote port forwarding if your machine is behind NAT. Then run something like scp eg. scp -P 8080(forwarded port) user@homemachine:example example
    – Tim Jonas
    Jan 8, 2015 at 1:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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