
Мы создали микроэкземпляр AWS под управлением Ubuntu 10.04 и можем войти в него как пользователь "ubuntu", используя пару ключей, просто отлично. Теперь я создал двух новых пользователей, но когда я пытаюсь войти в экземпляр, используя их имена пользователей, я получаю сообщение "Server reject our key".
Что происходит? Привязана ли пара ключей к пользователю ubuntu? Также, нам нужно создать пару ключей для этих пользователей, или они могут войти, используя пароль? Или нам нужно всегда входить как "ubuntu", а затем "su - myusername"? Или я просто упускаю что-то простое?
решение1
Да, пара ключей привязана к пользователю ubuntu. После создания новых пользователей вам нужно будет поместить ключ, который вы хотите использовать, в $HOME/.ssh/authorized_keys
.. Это немного сложно, так как вам также нужно убедиться, что $HOME/.ssh имеет безопасные разрешения
chmod 0700 $HOME/.ssh
и что файл authorized_keys также имеет безопасные разрешения
chmod 0600 $HOME/.ssh/authorized_keys
Один из приемов — просто скопировать файл ключа пользователя Ubuntu для новых пользователей, если вы просто хотите использовать тот же ключ.
sudo cp -arf /home/ubuntu/.ssh /home/myuser/.ssh
chown -R myuser.myuser /home/myuser/.ssh
Если вы устанавливаете пароль для этих новых пользователей (на самом деле это не рекомендуется, так как атаки методом подбора пароля на SSH-серверы широко распространены в Интернете), вы также можете сделать это со своего клиентского компьютера:
ssh-copy-id user@host
Который будет обрабатывать все разрешения для вас. Также, если вы сохраните свой ключ в вашей учетной записи Launchpad.net, вы можете сделать
ssh-import-id your-launchpad-user
И он извлечет ваш ключ из панели запуска (эта команда была переименована в ssh-import-id в версии 11.04 и более поздних версиях).