【问题标题】:How to specify local machine when already sshed into another computer?已经 ssh 到另一台计算机时如何指定本地计算机?
【发布时间】:2017-02-17 22:25:40
【问题描述】:

很容易从另一台计算机简单地 scp 到本地计算机,反之亦然。但是,当你已经 ssh 到另一台计算机时怎么办呢?

user@anothercomp:~/$ssh ~/path/file (how to specify local computer?):~/localpath/file

请注意,我的电脑是个人笔记本电脑而不是服务器,因此Download files to local drive when sshed 此处的答案不适用,因为它需要指定域名,而我的笔记本电脑不是服务器。

那么指定本地计算机的正确方法是什么? (请不要说exit ssh再scp,工作时可能会丢失临时数据)

【问题讨论】:

  • 据我所知,当您通过 SSH 连接到另一台机器时,您的终端就是该机器的虚拟“扩展”,无法访问您的本地文件系统。您可以尝试 ssh 环回并将您通过 ssh 连接到 ssh 的机器返回到您的本地机器,但这需要您安装 openssh。我可能是错的,但我很确定你不能从你用来 ssh 到另一台机器的同一个 shell 访问你的机器..
  • 这一切都可以通过端口转发实现,但您需要明确说明您想要做什么。致电您的笔记本电脑A 和两个远程系统BC。准确说明您的连接方式以及您希望从何处复制文件。

标签: linux networking ssh scp


【解决方案1】:

您无需退出 ssh,您可以从笔记本电脑中的另一个虚拟终端运行 scp。

为方便起见,您可以尝试连接共享,避免再次输入密码;您可以使用 ssh -M 或修改 ~/.ssh/config。有关详细信息,请参阅 man ssh 和 man ssh_config。

【讨论】:

    【解决方案2】:

    通过 SSH 连接到第二台计算机,您将失去第一台计算机的上下文。为了传输文件,第二台机器需要将文件scp 传送到第一台机器,或者可以使用不同(但相似)的方法,例如sshfs

    如果问题是第二台机器无法通过网络访问第一台机器,那么隧道是可能的解决方案。但是,这只是启用了 scp 或 sshfs 进行连接——它不允许您的 ssh 会话从本地计算机访问路径或变量。

    【讨论】:

      【解决方案3】:

      虽然您的计算机没有域名,但它仍然有一个 IP 地址,因此您可以连接到该 IP 地址。您可以从SSH_CLIENT 变量中检索地址。见How to get the IP address from $SSH_CLIENT

      显然,要 ssh 或 scp 到您的计算机,您需要在那里运行 SSH 服务器。什么不常见,尤其是在运行 Windows 时。

      【讨论】:

        猜你喜欢
        • 2016-04-16
        • 1970-01-01
        • 1970-01-01
        • 2021-07-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多