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 [email protected] cat > localfile "<" remotefile
ssh [email protected] "cat remotefile" | cat > localfile

To send a file

ssh [email protected] cat < localfile ">" remotefile
cat localfile | ssh [email protected] "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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .