![您能在主机上使用 SSH 期间使用 SFTP 将文件“向后”传输到客户端吗?](https://linux22.com/image/1553413/%E6%82%A8%E8%83%BD%E5%9C%A8%E4%B8%BB%E6%9C%BA%E4%B8%8A%E4%BD%BF%E7%94%A8%20SSH%20%E6%9C%9F%E9%97%B4%E4%BD%BF%E7%94%A8%20SFTP%20%E5%B0%86%E6%96%87%E4%BB%B6%E2%80%9C%E5%90%91%E5%90%8E%E2%80%9D%E4%BC%A0%E8%BE%93%E5%88%B0%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%90%97%EF%BC%9F.png)
在命令提示符中连接到 Linux(Ubuntu)中的主机时,我经常发现需要将文件传输回我的客户端计算机。我想知道 Linux 是否提供了通过 SFTP 或任何其他机制移动这些文件的功能。
答案1
如果您指的是在不从当前系统打开新会话的情况下传输文件,那么答案可能是否定的,您需要在目标计算机上进行某种新会话。一些 SSH 实用程序会打开多个会话以简化文件传输。但是,如果您在主机 A 上输入,并通过 SSH 进入主机 B,那么您可以从主机 B SCP 到主机 A:
hostb $ scp catphoto.jpeg me@hosta:/home/me/Pictures
这不需要你做任何事情,只需输入主机 A 的密码(假设主机 A 正在运行)sshd
或其他 SSH 服务器实用程序。如果没有,我这里说的是 Windows,我曾使用 Windows 10 的开发人员模式启用 SSH 服务器,这本文谈论得很好。
或者,莫巴克斯是我使用过的客户端之一,它有一个方便的资源管理器风格的文件传输栏,单击并拖动即可将其带过来。
答案2
无法使用与远程计算机的现有 SSH 会话启动文件传输回本地计算机。
替代方法(有些可能很明显):
如果本地机器运行 SFTP(或 FTP)服务器,您当然可以使用命令行 SFTP(或 FTP)客户端将文件“上传”到本地机器。
您可以使用本地计算机上的 SFTP/SCP 客户端从远程计算机下载文件,使用与 SSH 相同的凭据。
一些 SSH 客户端支持连接共享。
例如 PuTTY。虽然您仍然需要运行兼容的文件传输客户端(
pscp
或psftp
),但无需新的登录,它会自动(如果启用)使用现有的 PuTTY SSH 会话。要启用共享,请参见:
在 PuTTY 工具之间共享 SSH 连接。