【发布时间】:2016-08-10 06:24:37
【问题描述】:
我希望能够通过 SSH在使用设备 A 时将文件从设备 A 发送到设备 B,而且还希望能够在使用设备 B 时从 B 到 A。这是否意味着设备A和B都必须安装SSH服务器和SSH客户端?有没有更简单的方法来实现设备之间的简单文件发送?
【问题讨论】:
标签: ssh file-transfer
我希望能够通过 SSH在使用设备 A 时将文件从设备 A 发送到设备 B,而且还希望能够在使用设备 B 时从 B 到 A。这是否意味着设备A和B都必须安装SSH服务器和SSH客户端?有没有更简单的方法来实现设备之间的简单文件发送?
【问题讨论】:
标签: ssh file-transfer
最好的方法是通过 *nix "scp" 实用程序。它使用 SSH 传输文件。要将文件从主机 A 传输到客户端计算机 B,计算机 B 必须运行 SSH 服务器。我认为您不需要在本地计算机上运行 SSH 服务器。因此,假设您想从远程笔记本电脑 (B) 上的家庭计算机 (A) 传输文件 /home/bob/document.txt,并且您的远程笔记本电脑正在运行 SSH 服务器,侦听默认端口 22。假设远程笔记本电脑的 IP 地址为 188.188.188.188,远程笔记本电脑上的用户名是 bob。还假设您的本地计算机的用户名是 bill。你会做的
scp -P 22 bob@188.188.188.188:/home/bob/document.txt /home/bill/
或者,如果你想将文档从本地机器复制到远程,你会这样做
scp -P 22 /home/bill/document.txt bob@188.188.188.188:/home/bob/
从技术上讲,如果 SSH 服务器在端口 22 上保留为默认值,则不需要“-P 22”,但我将其包含在内,这样你就可以看到如果你让它监听你会做什么不同的端口。
有关更多信息,请参阅this 超级有用的 scp 语法链接。
【讨论】:
经过一番研究,发现两台设备确实都必须安装 SSH 客户端和服务器。 SSH 本身并没有为此提供任何快捷方式,但是有各种语言的各种库可以同时使用客户端和服务器(Apache SSHD、libssh...)
【讨论】: