Назад | Перейти на главную страницу

Невозможно использовать SSH в Ubuntu 10.10, работающем на EC2 в качестве нового пользователя

Пожалуйста, помогите мне понять, как я могу решить мою проблему с SSH:

Я могу подключиться по SSH к моему экземпляру EC2 под управлением Ubuntu 10.10 Maverick Meerkat без проблем с:

$ ssh -i MyEC2Key.pem ubuntu@ec2-01-LALALALALALA.eu-west-1.compute.amazonaws.com

Моя проблема возникает, когда я пробую то же самое с новым пользователем, которого я создал:

$ ssh -i MyEC2Key.pem robert@ec2-01-LALALALALALA.eu-west-1.compute.amazonaws.com

К сожалению, при попытке этого я получаю следующее сообщение об ошибке:

В разрешении отказано (публичный ключ).


Я не понимаю, чего мне не хватает, и относительно новичок в большинстве этих вещей. Все, что я хочу, - это чтобы этот новый пользователь имел права администратора и полный доступ по SSH. Это шаги, которые я прошел, все удаленно входили в систему как пользователь ubuntu и вносили изменения с помощью vim. Если бы кто-то мог сообщить мне, что мне здесь не хватает или что я неправильно понял, я был бы очень признателен.

Все еще застряли. Просто для проверки работоспособности, да, я могу войти в систему как robert через SSHing как ubuntu и используя sudo su robert, но это не то, что мне нужно - мне нужно иметь возможность подключиться к SSH как robert direct.

Вот отладочные данные при попытке подключиться к SSH как Роберт с флагами отладки:

$ ssh -v -i MyEC2Key.pem robert@ec2-01-LALALALALALA.eu-west-1.compute.amazonaws.com  
OpenSSH_5.2p1, OpenSSL 0.9.8l 5 Nov 2009  
debug1: Reading configuration data /etc/ssh_config  
debug1: Connecting to ec2-01-LALALALALALA.eu-west-1.compute.amazonaws.com [XX.XXX.XX.XXX] port 22.  
debug1: Connection established.  
debug1: identity file MyEC2Key.pem type -1  
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.5p1 Debian-4ubuntu4  
debug1: match: OpenSSH_5.5p1 Debian-4ubuntu4 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-01-LALALALALALA.eu-west-1.compute.amazonaws.com' is known and matches the RSA host key.  
debug1: Found key in /Users/robmccardle/.ssh/known_hosts:4  
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: Trying private key: MyEC2Key.pem  
debug1: read PEM private key done: type RSA  
debug1: Authentications that can continue: publickey  
debug1: No more authentication methods to try.  
Permission denied (publickey).  

Использовать один и тот же ключ для обеих учетных записей. Сделайте следующее

sudo cp -r /home/ubuntu/.ssh /home/robert/
cd /home/robert
sudo chown -R robert:robert .ssh

Это просто скопирует открытый ключ, соответствующий вашему закрытому ключу (MyEC2Key.pem), в учетную запись Роберта. Это также сохранит соответствующие разрешения, необходимые для /home/robert/.ssh/authorized_keys.

(Пожалуйста, не делайте вышеуказанное для двух существующих пользователей с несколькими авторизованными ключами по нескольким очевидным причинам! - Это предлагается только как простое решение для настройки новых пользователей на EC2 с использованием пользователя по умолчанию ubuntu)

Теперь вы должны уметь делать следующее:

ssh -i MyEC2Key.pem robert@ec2-01-LALALALALALA.eu-west-1.compute.amazonaws.com

Если это не сработает, просто убедитесь, что у вас есть правильные ограниченные права (сравните /home/ubuntu/.ssh и /home/robert/.ssh и разрешения для файла authorized_keys)

Если это по-прежнему не работает, есть две альтернативы:

1) Создайте новую пару ключей на локальной машине Роберта и добавьте открытый ключ в /home/robert/.ssh/authorized_keys (в экземпляре EC2)

Инструкции можно найти здесь: http://www.ece.uci.edu/~chou/ssh-key.html

2) В EC2 вы можете разрешить ssh принимать аутентификацию на основе пароля (по умолчанию отключено).

sudo nano /etc/ssh/sshd_config

и изменить

PasswordAuthentication no

к

PasswordAuthentication yes

Это позволит вам использовать ssh с паролем.

Похоже, что разрешения попадают в каталог. Убедитесь, что разрешения установлены правильно в вашем / home /пользовательКаталог /.ssh.

chmod -R o-rwx ~/.ssh