Назад | Перейти на главную страницу

SSH-ключ, подписанный CA, не проходит через бастион

Я настраиваю несколько серверов для новой системы и решил поступить немного по-другому. У меня возникла проблема, которую я просто не могу решить. Моя желаемая конфигурация - это один сервер-бастион и N других серверов, к которым можно получить доступ только через бастион - довольно типичная конфигурация.

Отличие от того, что я обычно делаю, заключается в том, что я хотел бы использовать подписанные ключи SSH для аутентификации. Это довольно просто для одного сервера, но бросает вызов при использовании бастиона.

Прямо сейчас у меня есть два идентично настроенных сервера. Я могу получить к ним доступ напрямую, используя подписанный ключ SSH. Однако, если я попытаюсь использовать один в качестве хоста бастиона / прыжка, я не смогу подключиться к другому. Мой ~/.ssh/config выглядит так:

Host ssh.uswe2
  HostName ssh.uswe2.example.com
  User ec2-user
  IdentityFile ~/.ssh/ssh-rsa-cert

Host *.uswe2 !ssh.uswe2
  HostName %h.example.com
  User ec2-user
  ProxyCommand ssh -W %h:%p ssh.uswe2.example.com
  IdentityFile ~/.ssh/ssh-rsa-cert

С этой конфигурацией я могу войти в бастион с помощью ssh ssh.uswe2, но когда я пытаюсь подключиться к другому серверу с ssh server2.uswe2 Я получаю следующую ошибку:

channel 0: open failed: administratively prohibited: open failed
stdio forwarding failed
kex_exchange_identification: Connection closed by remote host

Я все еще могу подключиться напрямую к серверу с помощью ssh server2.uswe2.example.com через общедоступную сеть, поэтому я знаю, что CA и сертификат загружаются правильно.

Моя следующая мысль заключалась в том, что, возможно, это как-то связано с настройкой бастиона, но если я добавлю свой открытый ключ в ~/.ssh/authorized_keys на обоих серверах я могу подключиться без каких-либо проблем.

Я здесь полностью в растерянности, и мне трудно устранить неполадки, так как я все время блокирую себя на серверах. Я надеюсь, что кто-нибудь сможет мне помочь со следующим:

channel 0: open failed: administratively prohibited: open failed

Эта проблема возникает, когда на сервере шлюза SSH отключена переадресация портов. В вашем случае ssh.uswe2.example.com, вероятно, имеет в конфигурации AllowTcpForwarding значение «no». Вы хотите изменить это на «да». Кроме того, вам может потребоваться разрешить GatewayPorts. Подробнее см. В документации. https://linux.die.net/man/5/sshd_config