Доступ по SSH к AWS работает с id_rsa.pub по умолчанию, но не с ключом, сгенерированным с помощью ssh-keygen

Доступ по SSH к AWS работает с id_rsa.pub по умолчанию, но не с ключом, сгенерированным с помощью ssh-keygen

Привет, я никогда не задавал здесь вопросов, но я пытаюсь получить доступ к экземпляру AWS без ввода пароля с помощью следующего кода и у меня возникли некоторые проблемы.

$ ssh -i ~/.ssh/id_rsa_aws.pub ubuntu@ipaddresshere

Однако он запрашивает у меня пароль, хотя ключ я сгенерировал, используя следующее, и оставил поле пароля пустым при запросе.

$ ssh-keygen -t rsa -b 1024

При доступе к серверу и вводе пустого поля для пароля я получаю сообщение об отказе в доступе. Если я ввожу пароль, мне предлагается повторно ввести значение. Поэтому я считаю, что сервер принимает пустой пароль, но отклоняет ключ.

Я сохранил содержимое id_rsa_aws.pubв authorizedkeys2и считаю, что все разрешения установлены правильно.

Чтобы провести еще немного тестирования, я использовал другой ключ, который я сгенерировал ранее для другого экземпляра, просто вызвал id_rsa.pubего и скопировал, authorizedkeys2и теперь с этим все в порядке.

Разрешения для ключей одинаковы.

Почему сгенерированный мной ключ не работает, а другой работает?

Я примерно следовал ссылке ниже, единственное отличие — использование другого файла идентификации, а не id_rsa.pub

https://forums.aws.amazon.com/message.jspa?messageID=211493

решение1

Ладно, у вас тут есть пара проблем. Я их одну за другой рассмотрю.

$ ssh -i ~/.ssh/id_rsa_aws.pub ubuntu@ipaddresshere

Первая проблема здесь. Ваш файл идентификации не является файлом открытого ключа. Ваш файл идентификации является вашимчастныйkey file. Таким образом, команда, которую вы запускаете, должна быть:

$ ssh -i ~/.ssh/id_rsa_aws ubuntu@ipaddresshere

Я сохранил содержимое id_rsa_aws.pub в authorizedkeys2 и считаю, что все разрешения установлены правильно.

Вторая проблема здесь. authorizedkeys2это не то место, где ваш sshd ищет ваш файл открытого ключа. Я думаю, вы, возможно, имели в виду authorized_keys2(обратите внимание на подчеркивание), но даже это не будет правильным местом (хотя это может сработать). Файл authorized_keys2был устарел довольно давно, в пользу одного, унифицированного ~/.ssh/authorized_keysфайла, который содержит как ключи RSA, так и DSA.

Связанный контент