1

我必须以这种方式访问​​我的服务器: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?

4

2 回答 2

2

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

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

如果remote1netcat安装。其他可行的选项可能是ncor socat(后者有不同的语法)。

于 2013-07-18T09:11:47.457 回答
1

尝试这个,

ssh -L localhost:8022:remote2:22 remote1

现在,您可以使用localhostport来8022联系via 。每当您需要转移时,此会话会话应该处于活动状态。利用22remote2remote1

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

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

于 2013-07-18T08:14:59.560 回答