Туннель SSH через бастионный хост
У меня проблема с установкой ssh-туннеля через бастионный хост.
Посмотрев различные вопросы SE, которые потенциально решают проблему, ничего не имеет.
Мой конфигурационный файл ssh (локальный)
Host www
HostName ***
IdentityFile ~/.ssh/key.pem
ProxyCommand ssh root@bastion -W %h:%p
Host bastion
HostName ***
IdentityFile ~/.ssh/key.pem
StrictHostKeyChecking no
ProxyCommand none
ForwardAgent yes
Я добавил необходимые параметры конфигурации на бастионном сервере (/etc/ssh/sshd_config):
PermitTunnel yes
AllowTCPForwarding yes
PermitOpen any
TCPKeepAlive yes
Но я получаю следующую ошибку:
OpenSSH_7.2p2 Ubuntu-4ubuntu2.4, OpenSSL 1.0.2g 1 Mar 2016
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: /etc/ssh/ssh_config line 59: Applying options for www
debug1: Executing proxy command: exec ssh root@bastion -W ****:22
debug1: permanently_set_uid: 0/0
debug1: permanently_drop_suid: 0
debug1: key_load_public: No such file or directory
debug1: identity file ~/.ssh/key.pem type -1
debug1: key_load_public: No such file or directory
debug1: identity file ~/.ssh/key.pem-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.4
channel 0: open failed: administratively prohibited: open failed
stdio forwarding failed
ssh_exchange_identification: Connection closed by remote host
В этой настройке есть одна оговорка: целевой хост (www) находится в AWS VPC и доступен только для бастиона. Я предполагаю, что это не должно быть проблемой, поскольку маршрутизация осуществляется с бастиона, но это моя последняя мысль, как проблема в этом сценарии.
1 ответ
Это довольно раздражает. Оказывается, AWS AMI отключает переадресацию портов в его authorised_keys! Это было сложно для отладки, когда все в конфигурации sshd выглядит правильно.
~ /.Ssh/authorized_keys
no-port-forwarding,no-agent-forwarding,no-X11-forwarding