Соединение AWS EC2 закрывается при попытке использования ssh
недавно я создал новый экземпляр EC2. На следующий день я не смог подключиться к моему экземпляру через ssh. Я мог подключиться и отключиться накануне, клянусь, я ничего не сделал. здесь ssh debug info:
ssh -i webserver.pem -v [email protected]
OpenSSH_5.9p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to my.elastic.ip [my.elastic.ip] port 22.
debug1: Connection established.
debug1: identity file webserver.pem type -1
debug1: identity file webserver.pem-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.9p1 Debian-5ubuntu1.1
debug1: match: OpenSSH_5.9p1 Debian-5ubuntu1.1 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.9
debug1: SSH2_MSG_KEXINIT sent
Connection closed by my.elastic.ip
Есть ли способ решить эту проблему? Или я снова переустановил свой экземпляр? Пожалуйста, помогите, как мне нужно решить это как можно скорее. Ваша помощь очень ценится!
Права PS для моего.pem установлены в 600.
Ответы
Ответ 1
Проверьте свою группу безопасности. Убедитесь, что у вас есть правило исходящего трафика, которое позволяет трафику возвращаться из экземпляра.
По умолчанию исходящее правило
type: All traffic, Protocol: All, Ports: All, Destination: 0.0.0.0/0
это будет работать.
Ответ 2
Моя проблема была в том, что имя пользователя было неверным. В экземплярах Ubuntu это должно быть "Ubuntu", а в случае Amazon - "ec2-user".
Ответ 3
(1) Проверьте, когда вы выполняете команду ssh, находитесь ли вы в той же папке, где вы кладете свой ключ. Кроме того, вы должны использовать "ssh -i/your_key_path/mykey.pem".
(2) Если это не поможет. Я думаю, вы могли бы создать еще один ключ и установить экземпляр EC2 через веб-страницу AWS. Затем повторите попытку.
Ответ 4
У меня была эта проблема, и оказалось, что файл PEM был неправильным. Вы можете проверить, следуя инструкциям в парах ключей Amazon EC2 - Проверка отпечатка пальца пары ключей:
Если вы создали пару ключей с помощью AWS, вы можете использовать инструменты OpenSSL для создания отпечатка пальца из файла закрытого ключа:
$ openssl pkcs8 -in path_to_private_key -inform PEM -outform DER -topk8 -nocrypt | openssl sha1 -c
Если вы создали пару ключей с помощью стороннего инструмента и загрузили открытый ключ в AWS, вы можете использовать инструменты OpenSSL для создания отпечатка пальца из файла личного ключа на локальном компьютере:
$ openssl rsa -in path_to_private_key -pubout -outform DER | openssl md5 -c
Вывод должен соответствовать отпечатку пальца, отображаемому в консоли.
Ответ 5
У меня была та же проблема, это проблема разрешений, которые вы даете файлу закрытого ключа pem. Убедитесь, что вы запустили команду ssh в терминале с правами администратора (sudo).
Ответ 6
Часто вам следует использовать имя пользователя по умолчанию для AMI, который вы использовали для запуска своего экземпляра:
- Для Amazon Linux 2 или Amazon Linux AMI имя пользователя:
ec2 пользователь.
- Для CentOS AMI имя пользователя - centos.
- Для Debian AMI имя пользователя - admin или root.
- Для Fedora AMI имя пользователя - ec2-user или fedora.
- Для AMI RHEL имя пользователя - ec2-user или root.
- Для SUSE AMI имя пользователя - ec2-user или root.
Для Ubuntu AMI имя пользователя - Ubuntu.
В противном случае, если ec2-user и root не работают, обратитесь к провайдеру AMI.
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connection-prereqs.html#connection-prereqs-get-info-about-instance