Моя цель, если возможно, подключиться через
конечный хост $ ssh
Потому что мне нужно соединение SSH для туннелирования для соединения с MySQL, который может сделать конечная точка, но хост-узел не может.
TL; DR
Я на самом деле ищу способ получить .ssh/config
позволяющий мне сделать
Конечный хост SSH
Когда за сценой это будет делать
ssh -t hop-host ssh конечный хост
Когда действие за сценой
Macbook -> hop-user@hop-host (id_rsa authentication) -> end-host-user@end-host (id_rsa authentication)
Где конечный хост, конечный хост-пользователь и файл идентификации для конечного хоста известны и определены в /home/hop-user/.ssh/config
на хосте прыжка.
Macbook ~/.ssh/config
Host hop-host
User hop-user
Hostname valid.tested.public.ip.address.to.hop.host
IdentityFile ~/.ssh/id_rsa
Host end-host
HostName end-point-hostname-as-defined-on-hop-host
ProxyCommand ssh -W %h:%p hop-host
Хоп-хост Cent OS ~/.ssh/config
для хоп-пользователя
Host end-point-hostname-as-defined-on-hop-host
HostName valid.tested.internal.ip.address.to.end.host
User end-host-user
IdentityFile ~/.ssh/keys/endhost
Ограничение, о котором следует знать : я не могу изменить какие-либо настройки на узлах перехода / завершения, и на них не установлен nc
.
Текущая проблема с данной конфигурацией
конечный хост $ ssh
канал 0: открыть не удалось: административно запрещено:
Ошибка открытия ssh_exchange_identification: соединение закрыто удаленным хостом
То, что работает :
$ ssh -t узел-хоста ssh конечная точка-имя-хоста-как-определено-на-узле-хосте
правильно подсказывает мне end-host-bash $ и позволяет мне делать оттуда все, что я хочу
Вещи, которые не работают или работают частично, и что я пытался
1) Изменение конфигурации конечного хоста Macbook ~/.ssh/config
config для HostName и User
Host end-host
HostName valid.tested.internal.ip.address.to.end.host
User end-host-user
ProxyCommand ssh -W %h:%p hop-host
конечный хост $ ssh
end-host-user@valid.tested.internal.ip.address.to.end.host пароль:
Которого у меня явно нет. И я думаю, это потому, что .ssh/config
узла хоста не красный.
2) Изменение конфигурации конечного хоста Macbook ~/.ssh/config
config для ProxyCommand
Host end-host
ProxyCommand ssh -t hop-host ssh end-point-hostname-as-defined-on-hop-host
конечный хост $ ssh
Псевдо-терминал не будет выделен, потому что stdin не является терминалом.
Псевдо-терминал не будет выделен, потому что stdin не является терминалом.
: команда не найдена2.0-OpenSSH_6.2
Ls
^ Убит по сигналу 2.
bash возвращает мне возможность набрать, но мои команды не отображаются.
Я понимаю, что это потому, что за сценой есть вызов -o ProxyCommand="the command in .ssh/config in the right host"
но мне может не хватать, чтобы понять, как это на самом деле работает.