Доступ по SSH запрещен, когда файл «authorized_keys» создается с помощью Vim

Я создал экземпляр ec2 с Ubuntu 16.04 AMI. Я создал пользователя sudo для этого AMI с помощью:

sudo adduser myuser
sudo usermod -aG sudo myuser

Затем я попытался предоставить пользователю доступ по ssh с помощью пары ключей rsa, которая у меня уже была. Я создал каталог .ssh для нового пользователя:

mkdir ~/.ssh
chmod 700 ~/.ssh
vim ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

Я скопировал и вставил свой открытый ключ в «authorized_keys». Затем я вышел из ec2 и проверил свое соединение с помощью:

cd ~/.ssh
ssh -i "mypem.pem" myuser@ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.com

Я получил сообщение об ошибке «Доступ запрещен (открытый ключ)»

Поэтому я удалил пользователя и создал другого пользователя. На этот раз a создал файл «authorized_keys» с помощью nano вместо Vim, и это сработало.

Кто-нибудь испытал это?

2
задан 15 January 2017 в 07:49
3 ответа

myuser должен иметь доступ к .ssh и ключевому файлу. Проверьте, кому они принадлежат.

0
ответ дан 3 December 2019 в 11:30

Если что-то подобное произойдет, я бы порекомендовал проверить шифрование файла , формат файла и бомбу в ViM. Сравните оба файла: тот, который вы редактировали с помощью nano, и тот, который вы редактировали с помощью vim. Откройте их с помощью vim и проверьте это:

: установить бомбу? Это отметка порядка байтов. Обычно устанавливается при редактировании файла UTF-8 с помощью notepad.exe в Windows. У меня часто были проблемы с этим.

: set ff? Формат файла dos или unix . У DOS разные окончания строк, чем в unix.

: set fenc? Кодировка файла: возможно, один редактор изменится на latin1 вместо UTF-8.

1
ответ дан 3 December 2019 в 11:30

Вероятно, вы вставили его неправильно.

  • Он начинается с ssh-rsa или с ssh -ed25519 ?
  • Есть ли перед ним пробел (НЕ ДОЛЖЕН)
  • Сохраняется ли верхний / нижний регистр?
  • Есть ли пробел перед любым комментарием в конце строки?

прежде чем вставлять что-либо в vim, вы должны использовать : set paste , так как он отключает любые возможные активные макросы автозаполнения / автоотступа / ...

Другое дело, что вы написали mykey. pem , которое является обычным расширением для файлов openssl, а не ssh-ключей. Вы уверены, что использовали id_rsa.pub / id_ed25519.pub в качестве ssh-pubkey?

1
ответ дан 3 December 2019 в 11:30

Теги

Похожие вопросы