Я запустил инстанс Ubuntu 18 на EC2.
Я подключился к серверу, используя пользователя Ubuntu.
Я создал нового пользователя с именем newuser и добавил его в группу sudo.
Затем я запустил:
rsync --archive --chown=newuser:newuser ~/.ssh /home/newuser
, чтобы позволить новому пользователю подключиться к серверу напрямую.
Когда я пытаюсь подключиться к серверу, используя нового пользователя, я получаю следующую ошибку:
Использование имени пользователя «newuser».
Аутентификация с открытым ключом «import-openssh-key»
Пожалуйста, войдите как пользователь «ubuntu», а не как пользователь «root».
Я получаю одинаковую ошибку как от MobaXterm, так и от PuTTY.
Как tritium_3 предложенный, я должен был отредактировать .ssh/authorized_keys, для удаления следующего текста:
no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo 'Please login as the user \"ubuntu\" rather than the user \"root\".';echo;sleep 10"
и сохраните ssh-rsa и ключ, который прибывает после него.
Однако rsync
команда скопировала файл в нового пользователя, таким образом, я должен был отредактировать файл, который находился под/home/newuser/.ssh/authorized_keys, а не/root/.ssh/authorized_keys.
существует команда внутри authorized_keys следующим образом.
cat /root/.ssh/authorized_keys
no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo 'Please login as the user \"ubuntu\" rather than the user \"root\".';echo;sleep 10"
удалите эту строку и сохраните ssh-rsa и ключ, который прибывает после него.
сохраните файл, затем попробовали еще раз.
Правильный способ решить эту проблему — использовать флаг ssh -l
. Не подделывая предупреждающие сообщения.
Не работает:
$ sudo ssh -i *path/xxxxx.pem* n.n.n.n
Please login using xxxxx
Работает:
$ sudo ssh -i keys/xxxxxx n.n.n.n -l ubuntu
Welcome to Ubuntu 18.04.1 LTS (GNU/Linux 4.15.0-1021-aws x86_64)
Примечание: Вы повышаете свои права доступа к файлу .pem
. Это означает, что вы, вероятно, «корень». Соединение SSH требует, чтобы вы вошли в систему с именем пользователя этой машины, в данном случае «ubuntu». Итак, передача флага «-l» позволяет нам установить это значение.
Надеюсь, это поможет!