ssh Отказано в разрешении AWS ec2 bastion
Когда я пытаюсь подключиться к EC2 в частной сети через сервер-бастион, я получаю следующее сообщение:
<username>@<ec2-server>: Permission denied (publickey)
Однако я могу использовать ssh для бастиона с моей локальной машины, и я могу использовать ssh для EC2 с сервера-бастиона,
Здесь
.ssh/config
Я использую:
Host <ec2-servers>*
IdentityFile ~/.ssh/id_rsa
User <username>
Вот команда, которую я использую для ssh:
ssh -J <bastion-server> <ec2-server>
Примечание: разрешения хорошие (700 для
~/.ssh/
и 600 для
~/.ssh/*
)
Заранее спасибо за вашу помощь!
4 ответа
Исправлено добавлением локального открытого ключа ssh в
authorized_keys
удаленного экземпляра ec2.
Только учтите, что ключи RSA обесцениваются, а более поздние версии операционных систем отключают их использование на КЛИЕНТЕ. То есть откуда вы ssh. Чтобы повторно включить его на клиенте, в файле ~/.ssh/config введите следующую строку:
PubkeyAcceptedKeyTypes +ssh-rsa
Примечание. Это может иметь последствия для безопасности, поэтому, если вас это беспокоит, ознакомьтесь с проблемами безопасности rsa. Например, в следующей статье:https://www.thesslstore.com/blog/is-it-still-safe-to-use-rsa-encryption/ говорится:
....RSA encryption provides less than 99.8% security.
That sounds negligible, it’s about two in every 1,000.
But does that mean RSA is cracked? Not quite, just vulnerable..
Скорее всего, в удаленной системе нет пользователя с именем username. Убедитесь, что обе системы имеют одинаковое имя пользователя и открытый ключ.
Можете ли вы попробовать следующую конфигурацию в качестве
username
вы упомянули то же самое для обоих
jump host
а также
actual instance
вы пытаетесь подключиться?
Host 10.2.2.* #ec2 servers cidr range
ProxyJump jumpuser@proxy.example.com
Я думаю, уточняя
IdentityFile ~/.ssh/id_rsa
может не понадобиться, так как это похоже на ключ по умолчанию в вашей системе, который вы используете.
Убеждаться
jumpuser
существует с соответствующими разрешениями.
Просто для целей отладки, запустите это вручную с параметрами отладки
ssh -vvv -J username@host1:port username@host2:port
предоставит много информации, и вы сможете увидеть, в чем проблема.
Если вы используете
ssh-agent
он удаляет все личности, и попытки тоже могут помочь.
ssh-add -D
Как получить доступ к удаленному серверу с помощью узла перехода