无法从远程 scp 到本地 Mac

无法从远程 scp 到本地 Mac

我已经浏览了 SU 和 SO 的帖子,想找到一种方法来实现这一点,但我打算放弃,坚持使用 GUI。我想将scp一个 ZIP 文件从远程服务器传输到我的本地计算机。我可以通过 SSH 顺利登录。我可以创建、删除、编辑等……但无法下载 ZIP。这是迄今为止“最接近”的。

# scp backup.zip [email protected]:/Users/Steven/Desktop/test

为了清楚起见,“backup.zip”是我想要从服务器下载的内容,位于我当前的目录中。“Steven”是我笔记本电脑上的用户名。我用 1 替换了本地机器的 IP 地址,路径是我想要复制到的位置的路径。

然而,有了这个,我得到了:

ssh: connect to host 111.111.111.11 port 22: Connection timed out lost connection

有趣的是,我没有被踢出会话。它只是让我回到输入命令之前的状态。我是不是漏掉了一些语法?

答案1

我是否理解正确,您正在使用 SSH 连接到远程主机,然后在远程主机上运行scp以将文件复制回本地主机?

在对这两个主机一无所知的情况下,完全有可能您的本地主机可以与远程主机建立 SSH 连接,但远程主机无法与本地建立 SSH 连接。

如果您可以从本地主机到远程主机建立 SSH 连接,则可以scp在本地主机而不是远程主机上运行:

scp remoteuser@remotehost:/path/to/backup.zip /Users/Steven/Desktop/test/

答案2

您确定远程计算机可以通过该 IP 地址访问本地 Mac 吗?例如,如果您的本地 Mac 上有一个 RFC 1918 私有地址(如 192.168.xy),因为它位于 NAT 网关后面,而远程计算机位于 NAT 网关的公共端,那么远程计算机将无法通过该地址访问本地 Mac,因为 RFC 1918 私有地址不可路由。您必须在 NAT 网关上进行端口映射,将端口 22 从其公共地址映射到 Mac 私有地址上的端口 22,然后再映射scp到 NAT 网关的公共地址。

或者按照@Kenster 的建议scp,从本地机器以相反的方式运行命令。

相关内容