我的 scp 没有 proxyjump 选项

我的 scp 没有 proxyjump 选项

我想scp通过另一台主机 (B) 将文件发送到主机 (C)。我可以使用以下命令:

scp -oProxyCommand="ssh -W %h:%p B" thefile C:destination

而且它工作得很好,但是这个不起作用:

scp -oProxyJump=B thefile C:destination

我收到以下错误:

command-line: line 0: Bad configuration option: proxyjump

我查看了scp手册(man scp)。我的scp命令没有ProxyJump选项,但有ProxyCommand选项。我更新了openssh-client,但没有帮助。

有人知道原因吗?

答案1

如果您频繁地通过跳转服务器将文件复制到此目的地,则可以通过在客户端 ~/.ssh/config 中创建一个条目来减少输入:

Host C
  User dest_user1
  Hostname 5.6.7.8
  ProxyCommand  ssh user_on_B@B nc %h %p 2> /dev/null

有了这个,你就可以:scp thefile C:destination。上面例子中的主机名“5.6.7.8”可以替换为仅对跳转服务器可见的某些机器 IP 或名称(即:没有全局 DNS 条目)

答案2

您的 OpenSSH 版本较旧,不支持该ProxyJump选项。它于OpenSSH 7.3因此如果您需要使用它,您需要获取此版本或更新版本(您的发行版可能不提供它)。

但正如已经说过的,你可以ProxyJump使用ProxyCommand(如在原始问题):

Host C
  ProxyCommand ssh -W %h:%p B

相关内容