ssh 是否具有在已连接时交换文件的功能?

ssh 是否具有在已连接时交换文件的功能?

我从未听说过这种可能,所以答案可能是否定的。但也许有人知道得更多。

我知道你可以sftp使用主持人偏僻的,你们都可以sftp主持人偏僻的,以及偏僻的主持人一旦你已经连接到偏僻的SSH

但现在我的问题是,一旦你连接到偏僻的机器SSH是否可以使用已建立的连接传输文件?这非常合乎逻辑,我已经连接,身份验证已完成,为什么不直接使用类似lls,之类的东西put。或者使用一些可以绕过远程 bash 输入行并在主机之间执行某些操作的键组合。

答案1

OpenSSH的最新ControlMaster版本支持多路复用连接。查看ControlPathssh_配置

使用此功能,您仍然必须运行scpsftp执行文件传输,但传输将通过您现有的 SSH 连接运行。

答案2

您将始终需要向所连接的机器表明您的身份。您可以将其设置为使用加密密钥,这样就不需要密码,但仍需要进行身份验证。

在远程系统之间传输文件的最简单方法是scp,它是软件包的一部分ssh。假设您的本地计算机是1.2.3.4.,您的本地用户tom是 ,远程计算机是5.6.7.8,您的远程用户是jon

  • 登录服务器后,将文件从远程服务器复制到本地计算机:

    scp /home/jon/foo.txt [email protected]:/home/tom/
    

    当然,你仍然需要向你的当地的机器上)。但是,没有发送到服务器。

  • 在未登录服务器时将文件从远程服务器复制到本地计算机:

    scp [email protected]:/home/jon/foo.txt /home/tom/
    

    这样,您只需识别一次自己,无需打开单独的ssh连接。

您还可以在远程服务器之间进行复制,ssh基本上只要您有权限就可以。命令的一般格式是

scp user1@machine1:/path/to/source user2@machine2/path/to/destination

答案3

使用现有的 SSH会议,但不一定是 SSH 本身,你可以尝试值得信赖的经典 Zmodem rz/sz。这些实用程序可能已经在您的系统上可用,因为它们以 RPM 和 DPKG 格式在各种存储库中提供。否则,您可以从以下位置下载并构建它们这里

相关内容