SSH - 一种在不打开单独的SFTP会话的情况下传输文件的方法?

ava*_*lys 12 ftp ssh shell sftp openssh

不是一个编程问题,但与许多程序员有关......

假设我已经打开了另一台计算机的SSH会话.

remote:html avalys $ ls
welcome.msg index.html readme.txt
remote:html avalys $

是否有任何命令可以在我的远程shell中键入,它会立即将当前目录中的一个文件(例如welcome.msg)传输到我的本地计算机,即

remote:html avalys $ stransfer welcome.msg
获取/home/avalys/html/welcome.msg到welcome.msg
/home/avalys/html/welcome.msg 100%23KB 23.3KB/s 00:00
remote:html avalys $

我知道这样做的唯一方法是在SSH会话中打开并行SFTP会话和CD到我当前的目录,这是远程管理服务器时的真正PITA.

编辑:我知道使用反向sftp/scp连接的可能性,但这涉及更多的打字.如果我只能键入一些命令的名称(例如"stransfer"),以及我想要传输的文件,那就太棒了.

Jos*_*hua 7

您可以设置这样的倒置传输连接w/ssh -Rport:127.0.0.1:22 user@host for scp back.

Use scp user@host:port

ssh -Rport:127.0.0.1:22 user@host for scp back.

Use scp user@host:port

ssh -Rport:127.0.0.1:22 user@host for scp back.

Use scp user@host:port 访问它.


小智 5

在研究这个时,我找到了一个程序,它可以作为openssh客户端的替代品,zssh.

sudo apt-get install zssh
zssh user@remote
sudo apt-get install zssh
sz file.name
<ctrl>+<space>
rz
Run Code Online (Sandbox Code Playgroud)

奇迹般有效.