我必须以这种方式访问我的服务器: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?
答案 0 :(得分:2)
另一种选择可能是使用代理命令:
scp -o ProxyCommand='ssh yyy@remote1 netcat %h %p 2> /dev/null' zzz@remote2:fromfile tofile
如果remote1
已安装netcat
。其他可行的选项可以是nc
或socat
(后者具有不同的语法)。
答案 1 :(得分:1)
试试这个,
ssh -L localhost:8022:remote2:22 remote1
现在,您可以使用localhost
端口8022
通过22
与remote2
remote1
联系。无论何时需要转移,此会话会话都应处于活动状态。使用
scp -P 8022 /path/locale/file 127.0.0.1:/path/on/remote2
这通常称为SSH Tunneling
。您可以搜索并了解它。