У меня есть несколько экземпляров AWS EC2, у одного из них есть публичный IP-адрес, у остальных нет публичных IP-адресов.
Я настроил SSH-доступ к общедоступной машине, используя пару закрытый / открытый ключ. Теперь мне нужно получить доступ к остальной сети через этот общедоступный экземпляр.
Мне сказали, что если я создам .pem
файл из моей пары ключей и установить его в общедоступном экземпляре, я смогу сначала подключить SSH к общедоступному экземпляру, а оттуда - SSH для остальных.
Это не кажется правильным. Копирование моих закрытых ключей в другой экземпляр небезопасно. Можно ли настроить туннель (каким бы он ни был, я не системный администратор) с моего локального компьютера, на котором есть пара ключей к экземплярам назначения?
Если у вас есть доступ к частным хостам с общедоступного хоста, вы можете настроить локальную конфигурацию ssh ~/.ssh/config
чтобы использовать ваш общедоступный хост в качестве прокси-сервера ssh:
Host PublicServer
Hostname PUBLIC_DNS_OR_IP_HERE
User USERNAME_HERE
# Default ~/.ssh/id_rsa
IdentityFile /path/to/your/private/ssh/key
Host PrivateHost2
Hostname 192.168.168.2
Host PrivateHost3
Hostname 192.168.168.3
Host PrivateHost* 192.168.168.*
Hostname %h
User PRIVATE_HOSTS_USERNAME
#Compression yes
#ForwardX11 no
#IdentityFile ~/.ssh/id_rsa
ProxyCommand ssh -W %h:%p PublicServer
Тогда ты можешь просто бежать ssh PrivateHost3
для подключения к частному хосту через PublicServer или даже ssh 192.168.168.3
, в этом случае вам не нужно создавать записи PrivateHostN. Не нужно помещать свой закрытый ключ в PublicServer, все работает прозрачно.
Вы используете VPC или EC2 Classic? Все ли эти экземпляры находятся в одной подсети или, по крайней мере, все в одном VPC?
Если у вас есть экземпляры в том же VPC / подсети, я бы сделал следующее:
Для общедоступного IP-адреса / экземпляра настройте группу безопасности, чтобы разрешить входящий SSH из вашей глобальной сети или заблокировать рабочий IP-адрес.
Убедитесь, что вы можете подключиться к общедоступному экземпляру по SSH после внесения этого изменения - если все в порядке, перейдите к следующему шагу.
Создайте группу безопасности, которая разрешает входящий доступ к частным экземплярам ТОЛЬКО из общедоступного экземпляра. Вы можете использовать IP-адрес / 32, чтобы указать общедоступный экземпляр в качестве ожидаемого IP-адреса, входящего в порты SSH частных экземпляров. Или вы можете полениться и использовать диапазон внутренней подсети - на ваше усмотрение.
-Теперь SSH в общедоступный экземпляр, используя общедоступный IP-адрес. Затем попробуйте подключиться к частным экземплярам, используя только внутренние или частные IP-адреса, назначенные экземплярам - теперь вы должны иметь возможность подключиться.