通常情况下,我会只是做scp file myuser@server1:~/
(和输入密码),但现在我需要首先scp file myuser@server2:~/
,然后ssh myuser@server2
从我到服务器2,然后从Server2上做scp file myuser@server1:~/
我尝试这样做ssh -L 8888:server1:22 myuer@server2
,它向我询问密码,就像我这样做时一样ssh myuser@server2
,它只是连接到 server2 而不是 server1。
我怎样才能让它工作,以便我可以scp
直接从我到 server1?
您可以非常简单地配置ProxyCommand
/ProxyJump
以便您可以scp
直接连接到远程服务器。~/.ssh/config
使用以下内容创建一个:
Host server1
ProxyCommand ssh -W %h:%p server2
Run Code Online (Sandbox Code Playgroud)
然后你就可以直接 scp 了:
scp local.file server1:/path/to/remote.file
Run Code Online (Sandbox Code Playgroud)
如果您真的坚持端口转发,那么在使用您提供的第一个命令创建“隧道”之后:
ssh -L 8888:server1:22 server2
Run Code Online (Sandbox Code Playgroud)
您将需要以这种方式传输数据(其中-P
指示设置转发连接的端口):
scp -P 8888 local.file server1:/path/to/remote.file
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12634 次 |
最近记录: |