【问题标题】:How to transfer a file in an "indirect" ssh connection?如何在“间接” ssh 连接中传输文件?
【发布时间】:2013-07-18 07:55:16
【问题描述】:

我必须以这种方式访问​​我的服务器:localhost -> remote1 -> remote2(我的服务器)

[xxxx@localhost] $ ssh yyyy@remote1
[yyyy@remote1]   $ ssh zzzz@remote2
[zzzz@remote2]   $ echo "now I logined into my server..."

我知道如何使用 scp 传输文件。但是我对 remote1 没有读取或写入权限。如何将文件传输到 remote2?

【问题讨论】:

    标签: linux networking ssh scp


    【解决方案1】:

    另一种选择是使用代理命令:

    scp -o ProxyCommand='ssh yyy@remote1 netcat %h %p 2> /dev/null' zzz@remote2:fromfile tofile
    

    如果remote1 安装了netcat。其他可行的选项可能是ncsocat(后者有不同的语法)。

    【讨论】:

      【解决方案2】:

      试试这个,

      ssh -L localhost:8022:remote2:22 remote1
      

      现在,您可以使用localhost 端口8022 通过remote1 联系remote222。每当您需要转移时,此会话会话应该处于活动状态。使用

      scp -P 8022 /path/locale/file 127.0.0.1:/path/on/remote2
      

      这通常称为SSH Tunneling。您可以搜索并了解很多。

      【讨论】:

        猜你喜欢
        • 2012-07-15
        • 1970-01-01
        • 2016-10-24
        • 1970-01-01
        • 2014-04-07
        • 2011-08-29
        • 2019-08-28
        • 2012-02-02
        • 1970-01-01
        相关资源
        最近更新 更多