Задача:Есть машина за НАТом, в которую нужно попасть по SSH.
Условия:Избежать цепочки подключений к SHH вручную. Сразу попадать на нужную машину.
Порты не проброшены, но есть доступ по SSH к серверу с внешним IP.
Решение:читать дальшеВ ~/.ssh/config нужно прописать следующее:
Host xxx.xxx.xxx.xxx
User user1
PubkeyAuthentication yes
PasswordAuthentication no
IdentityFile ~/.ssh/id_rsa
Host yyy.yyy.yyy.yyy
User user2
ProxyCommand ssh -W %h:%p xxx.xxx.xxx.xxx
PubkeyAuthentication yes
PasswordAuthentication no
IdentityFile ~/.ssh/id_rsa
Подключаться так:
ssh yyy.yyy.yyy.yyy
Пояснения:
xxx.xxx.xxx.xxx — IP адрес внешнего сервера.
yyy.yyy.yyy.yyy — IP адрес сервера за НАТом
Самое интересное здесь — это ProxyCommand
Ссылки:
Памятка пользователям ssh, читать почти в самом низу, опция -W
Transparent Multi-hop SSH, читать A Better Way, почти тоже самое, но с использованием netcat, для версий SSH без опции -W
Подсветка синтаксиса: gvim