Вопрос или проблема
Я совсем новичок в этом, и я просмотрел вопросы, но не нашел ни одного, который бы точно соответствовал моей проблеме, а точнее, я не достаточно понял их, чтобы решить эту проблему.
У меня есть новый сервер, к которому я могу получить доступ только с помощью заранее сгенерированной пары SSH RSA ключей, что позволяет мне подключаться только к пользователю по умолчанию ubuntu
ssh -i .ssh/mykey ubuntu@ipaddr
На сервере я создал нового пользователя, newuser
, и я пытаюсь сделать так, чтобы я мог использовать свой ключ, с которым я подключаюсь к ubuntu
, и для этой учетной записи, но я не уверен, как это сделать, чтобы затем удалить пользователя ubuntu
.
ssh-copy-id -i .ssh/mykey.pub -o "IdentityFile .ssh/mykey" newuser@ipaddr
Однако это возвращает отказ в доступе. Как я могу сделать это эффективно? Любой вход с паролем отключен и не может быть включен в этом случае.
- подключитесь к вашему старому пользователю
ubuntu
- используйте
sudo -i -u newuser
, чтобы переключиться на нового пользователя - откройте
~newuser/.ssh/authorized_keys
в вашем любимом редакторе и скопируйте&вставьте содержимое вашего нового публичного ключа в него - установите правильные разрешения на директорию
.ssh
и файлы внутри нее.chmod 700 ~newuser/.ssh
chmod 600 ~newuser/.ssh/authorized_keys
вам может потребоваться создать директорию ~newuser/.ssh
, если она еще не существует
Ответ или решение
Для того чтобы добавить ваш SSH-ключ к новому пользователю на сервере, следуйте приведённым ниже шагам. Предполагается, что вы уже можете подключаться к серверу через пользователя ubuntu
с помощью вашего RSA SSH-ключа.
Шаги для добавления SSH-ключа к новому пользователю
-
Подключитесь к серверу через пользователя
ubuntu
:ssh -i .ssh/mykey ubuntu@ipaddr
-
Создайте нового пользователя, если вы этого ещё не сделали:
sudo adduser newuser
-
Переключитесь на нового пользователя:
Для этого выполните следующую команду:sudo -i -u newuser
-
Создайте каталог
.ssh
для нового пользователя, если он не был создан:mkdir -p ~/.ssh
-
Скопируйте ваш публичный SSH-ключ в файл
authorized_keys
:
Откройте файлauthorized_keys
в текстовом редакторе, например, с использованиемnano
:nano ~/.ssh/authorized_keys
Затем вставьте содержимое вашего публичного ключа (обычно находящегося в файле
mykey.pub
). Вы можете скопировать его содержимое с помощью следующей команды на своей локальной машине:cat .ssh/mykey.pub
-
Сохраните изменения и закройте редактор:
Если вы используетеnano
, нажмитеCTRL + X
, затемY
, чтобы подтвердить сохранение, иEnter
. -
Установите правильные права доступа для каталога и файлов:
Выполните следующие команды, чтобы установить корректные права доступа:chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
-
Выйдите из сессии пользователя
newuser
и вернитесь к пользователюubuntu
:exit
-
Проверьте возможность подключения к
newuser
подойдя с помощью SSH:
Теперь вы должны иметь возможность подключиться кnewuser
с помощью SSH:ssh -i .ssh/mykey newuser@ipaddr
Если вы смогли выполнить все вышеописанные шаги без ошибок, значит вы успешно добавили SSH-ключ к новому пользователю. Теперь вы можете удалить учетную запись ubuntu
, если это необходимо, но сначала убедитесь, что все необходимые данные и настройки перенесены на нового пользователя.
Дополнительные рекомендации:
- Следите за тем, чтобы в будущем использовать только безопасные методы аутентификации, такие как SSH-ключи.
- Регулярно обновляйте и защищайте ваши приватные ключи.
- Рассмотрите возможность создания резервных копий ваших ключей в безопасном месте.
Если у вас остались вопросы или возникли трудности на любом из этапов, не стесняйтесь обращаться за помощью.