Eu não sei se esse método é mais fácil do que apenas usar o scp, e vou fazer muitas suposições sobre o cliente ssh que você está usando e o sistema operacional de suas máquinas de origem e destino ter. Eu só espero que isso seja útil.
Se você já efetuou login na máquina e deseja transferir um arquivo sem precisar fazer login novamente, é possível abrir um túnel como este:
- Na linha de comando, digite ~ C, você entrará no console de comando do ssh:
ssh>
- Digite -L 4444: localhost: 4444 para encaminhar a porta 4444 em sua máquina local para a porta 4444 na máquina remota
ssh> -L 4444:localhost:4444
Forwarding port.
- Quando você vir seu prompt na sua máquina remota novamente, digite:
nc -l 4444 > my_file.txt
Isto irá escutar na porta 4444 e enviar a saída para my_file.txt
- Agora, na sua máquina local, você faz:
nc localhost 4444 < my_file.txt
E isso enviará meu_arquivo.txt através do encapsulamento encaminhado pelo ssh para a máquina remota, e o netcat (comando nc) irá enviá-lo para o arquivo na máquina remota. Se você quiser transferir um diretório inteiro, use tar
e redirecione para a entrada padrão e a saída padrão. ( man tar
é seu amigo).