2

У меня проблемы с пониманием специфического поведения хостов ssh jump.
У меня есть эти конфигурации в моем ~/.ssh/config:

Host bastion-server
  Hostname server.bastion.com
  ForwardAgent yes
  User user
Host internal-server
  Hostname 10.0.0.123
  User user2
Host *%via-bastion
  ProxyCommand ssh bastion-server -W $(echo %h | cut -d%% -f1):%p

когда я пытаюсь подключиться с помощью команды ssh internal-server%via-bastion он выдает эту ошибку:

канал 0: открыть не удалось: административно запрещено: открыть не удалось
ssh_exchange_identification: соединение закрыто удаленным хостом

Тем не менее, когда я определяю

Host bastion-server
  Hostname server.bastion.com
  ForwardAgent yes
  User user
Host internal-server
  Hostname 10.0.0.123
  User user2
  ProxyCommand ssh bastion-server -W %h:%p

и использовать ssh internal-server работает отлично.

Есть идеи, почему это происходит?

1 ответ1

4

В первом случае ваша прокси-команда расширяется до:

ssh bastion-server -W internal-server:22

Во-вторых,

ssh bastion-server -W 10.0.0.123:22

Первый не работает, потому что ваш бастионный сервер не распознает имя internal-server .

(Перевод не происходит на стороне клиента, потому что клиент просто не понимает, что он должен смотреть на Host internal-server когда вы запускаете ssh internal-server%via-bastion - насколько это касается, они совершенно разные имена.)

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