scp 通过中间服务器

Tom*_*mmy 3 ssh scp ssh-tunnel

我需要将文件从我只能通过 SSH 访问的计算机复制到中间计算机。

Home -> server.com -> cluster.com
Run Code Online (Sandbox Code Playgroud)

我正在尝试从 cluster.com 复制到 home。我可以从家里 ssh 但不能到家里。连接

server.com-> cluster.com
Run Code Online (Sandbox Code Playgroud)

有一个 RSA 公钥,但服务器不允许

Home -> server RSA public key.

我试过了

home$ ssh server.com -L 2000:final:22 -N
Run Code Online (Sandbox Code Playgroud)

这给了

channel 2: open failed: administratively prohibited: open failed
Run Code Online (Sandbox Code Playgroud)

我也试过

ssh -fN -L 4567:cluster.com:22 server.com
Run Code Online (Sandbox Code Playgroud)

然后

ssh cluster.com -L 2000:final:22 -N
Run Code Online (Sandbox Code Playgroud)

这导致了。

channel 2: open failed: administratively prohibited: open failed
ssh_exchange_identification: Connection closed by remote host
Run Code Online (Sandbox Code Playgroud)

我从这些想法 通过中间宿主SCP文件我必须SFTP将中间服务器?

但似乎无法使结果起作用,第一个链接中的其他一些示例我无法遵循,因此只尝试了我可以遵循的示例。我似乎永远无法让 ssh 做我想做的事。

任何帮助,将不胜感激。

use*_*686 5

SSH 服务器server.com配置为拒绝所有通过它的 TCP 转发尝试;使用-L将不起作用。


SFTP 和 SCP 的替代方案已经很老了tar

ssh server.com "ssh cluster.com \"cd mydir && tar cz myfile\"" | tar xvz
Run Code Online (Sandbox Code Playgroud)

或者cat

ssh server.com "ssh cluster.com \"cat mydir/myfile\"" | pv > myfile
Run Code Online (Sandbox Code Playgroud)

| pv”部分是可选的;如果您安装了pv程序,它会导致显示一个不错的进度条。