3

Я хочу scp файл на хост (C) через другой хост (B). Я могу использовать ниже команды:

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 но это не помогло.

Кто-нибудь знает причину?

2 ответа2

5

У вас есть старая версия OpenSSH, которая не поддерживает параметр ProxyJump . Он был представлен в OpenSSH 7.3, поэтому, если вам нужно его использовать, вам нужно получить эту или более новую версию (она может не предоставляться вашим дистрибутивом).

Но, как уже было сказано, вы можете переписать каждую команду ProxyJump с помощью ProxyCommand (как указано в исходном вопросе):

Host C
  ProxyCommand ssh -W %h:%p B
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 отсутствует).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .