登录远程时,无法将文件从远程推送回本地主机

登录远程时,无法将文件从远程推送回本地主机

我已登录到远程主机并尝试将文件推送回本地计算机。

使用scp myusername@university_computer:/home/myusername/filename /home/myname/folder错误消息中的结果:/home/folder: No such file or directory.当我“是”远程计算机时,它看不到本地计算机。

那么如何识别本地机器以便被识别呢?

关于此主题的两个相关问题并未解决此问题。

答案1

不完全确定这是否正确回答了您的问题,但是当使用scp通过互联网复制文件时,我相信您必须使用可解析的主机名或 IP 来代替计算机主机名。例如,如果您想将文件(从您登录的远程计算机上控制台中的当前活动目录)复制到您的家庭计算机(假设家庭计算机的主机名是 home_comp 并且 ip 是 [无效]占位符 ip] 257.344.104.36) 你会做的。scp /home/userx/foo [email protected]:~/bar

这会将当前登录的计算机上的“/home/userx/foo”复制到位于 257.344.104.36 的计算机上“usery”主目录中的“bar”,前提是您拥有正确的登录凭据并且计算机位于 257.344 .104.36 接受正确端口上的连接(默认为端口 22,如果我没记错的话)。

答案2

许多机器无法直接访问互联网。他们在一个网络设备后面执行网络地址转换(NAT):机器的 IP 地址仅在内部网络上有效。当计算机与外部服务器建立连接时,NAT 设备会中继该连接,以便服务器看到来自 NAT 设备的连接。

这使得无法与内部计算机建立传入连接,因为来自外部的连接只能到达 NAT 设备。除非 NAT 设备已配置为中继传入连接(这种情况很少见)(它将每个连接中继到众多内部计算机中的哪一台?),否则不可能建立传入连接。

如果您的本地计算机位于 NAT 之后,您只能进行传出连接。如果要复制文件,请在本地打开另一个终端,然后运行scp​​,sftpsshfs来传输文件。为了加快后续连接的建立,您可以将 SSH 配置为搭载现有安全通道

如果您经常需要,您可以构建一个反向 SSH 隧道。这是一个权衡:设置时间较长,但设置后会带来便利。

相关内容