Вопрос или проблема
Мой первый опыт работы с системой на AWS Lightsail, работающей под управлением Ubuntu 24.04. Я создал новый экземпляр, работающий на Ubuntu 24.04 с постоянным IP-адресом. Во время создания экземпляра я также создал новый ключ и скачал файл закрытого ключа на свой компьютер с Win11. Я поместил файл в C:\users\myname\tomcat.pem. Затем я указал Powershell на этот файл с помощью команды ssh -i, за которой следовало username@Static_IP, однако я не могу войти. 🙁
Я получаю сообщение об ошибке: отказано в доступе (publickey). [процесс завершился с кодом 255 (0x000000ff)]
Если я упустил какие-либо детали, пожалуйста, дайте знать.
Заранее спасибо.
Ответ или решение
Как подключиться к AWS Lightsail Ubuntu с помощью Windows PowerShell
Если вы пытаетесь подключиться к вашему экземпляру AWS Lightsail, работающему на Ubuntu 24.04, с помощью Windows PowerShell и получаете сообщение об ошибке "Permission denied (publickey)", это может быть связано с несколькими факторами. Давайте рассмотрим этот процесс шаг за шагом, чтобы устранить возможные проблемы и успешно завершить подключение.
Шаг 1: Подготовка к подключению
-
Имя пользователя: Убедитесь, что вы используете правильное имя пользователя для Ubuntu. Обычно для Ubuntu это имя пользователя
ubuntu
. Таким образом, ваша команда SSH должна выглядеть как:ssh -i C:\users\myname\tomcat.pem ubuntu@<Static_IP>
-
Путь к ключу: Проверьте, что путь к вашему частному ключу указан правильно и файл действительно существует по этому пути. Вы можете использовать команду
ls
в PowerShell, чтобы проверить наличие файла. -
Права доступа к приватному ключу: Очень важно, чтобы файл приватного ключа имел правильные разрешения. На Windows PowerShell нет такой возможности, как на Linux, но вы можете убедиться, что файл не доступен для чтения другими пользователями:
- Убедитесь, что файл не открыт в других программах.
- Защитите файл, изменив его атрибуты, чтобы никто, кроме вас, не имел к нему доступ (на уровне операционной системы).
Шаг 2: Выполнение команды SSH
Теперь, когда все проверено, выполните следующую команду в PowerShell:
ssh -i C:\users\myname\tomcat.pem ubuntu@<Static_IP>
Замените <Static_IP>
на ваш фактический статический IP-адрес, предоставленный Lightsail. Если вы используете другой порт, например, 2222 вместо стандартного 22, добавьте -p <порт>
в команду:
ssh -i C:\users\myname\tomcat.pem -p 2222 ubuntu@<Static_IP>
Шаг 3: Поиск ошибок
Если вы по-прежнему получаете ошибку "Permission denied (publickey)", выполните следующие действия для устранения проблем:
-
Проверьте настройку безопасности: Убедитесь, что в вашей конфигурации AWS Lightsail открыты необходимые порты (обычно 22 для SSH) в брандмауэре. Перейдите в панель управления Lightsail и проверьте настройки сети вашего экземпляра.
-
Перегенерируйте ключи: Если ничего из вышеперечисленного не сработало, попробуйте сгенерировать новую пару ключей через AWS и повторно подключиться, следуя аналогичной процедуре.
Заключение
Подключение к вашему экземпляру AWS Lightsail, работающему на Ubuntu, через Windows PowerShell может представлять некоторые трудности из-за требуемых параметров безопасности и правильной настройки сети. Следуя шагам, описанным выше, вы можете устранить большинство распространенных проблем, связанных с подключением. Если у вас возникают дополнительные вопросы, не стесняйтесь обращаться за помощью к сообществу AWS или в техническую поддержку.