Я запустил новый инстанс EC2 с AWS с использованием 64-разрядной версии Amazon Linux (amzn-ami-2011.09.1.x86_64-ebs (ami-20506254)), и у меня возникли проблемы с подключением к нему по ssh. Я создал общедоступную / частную пару ключей ssh, используя ssh-keygen -t rsa
и добавил ключ .pub (открытый) к моим парам ключей в консоли управления EC2.
Когда я пытаюсь запустить: ssh -i ~ / .ssh / aws_ec2 -v ec2-46-137-17-221.eu-west-1.compute.amazonaws.com
Получаю следующий результат:
OpenSSH_5.2p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /Users/casey/.ssh/config
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to ec2-79-125-85-42.eu-west-1.compute.amazonaws.com [79.125.85.42] port 22.
debug1: Connection established.
debug1: identity file /Users/casey/.ssh/aws_ec2 type 1
debug1: identity file /Users/casey/.ssh/id_rsa type 1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.2
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'ec2-79-125-85-42.eu-west-1.compute.amazonaws.com' is known and matches the RSA host key.
debug1: Found key in /Users/casey/.ssh/known_hosts:8
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /Users/casey/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Offering public key: /Users/casey/.ssh/aws_ec2
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).
Не уверен, что происходит, поскольку он предлагает мой закрытый ключ ssh, но, похоже, ему просто отказывают. Кто-нибудь знает, что происходит?
Я понял:
ssh -i ~/.ssh/aws_ec2 -v ec2-user@ec2-79-125-85-42.eu-west-1.compute.amazonaws.com
Вам нужно использовать ec2-user
как имя пользователя.
chmod 700 /Users/casey/.ssh
chmod 600 /Users/casey/.ssh/*
Убедитесь, что вы входите в систему с правильным именем пользователя. Пользователи ssh по умолчанию, предоставленные aws:
ec2-user : RHEL/centos, etc..
ubuntu: Ubuntu
Также попробуйте указать конкретный ключевой файл, как показано ниже.
ssh -i /Users/casey/.ssh/privatekey ec2-user@host.example.com