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

Как получить доступ к удаленному серверу с помощью узла перехода

Как настроить сервер переходов SSH

Другие вопросы по тегам