Добавление моего SSH-ключа новому пользователю с доступом только через SSH-ключ

Вопрос или проблема

Я совсем новичок в этом, и я просмотрел вопросы, но не нашел ни одного, который бы точно соответствовал моей проблеме, а точнее, я не достаточно понял их, чтобы решить эту проблему.

У меня есть новый сервер, к которому я могу получить доступ только с помощью заранее сгенерированной пары 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-ключа к новому пользователю

  1. Подключитесь к серверу через пользователя ubuntu:

    ssh -i .ssh/mykey ubuntu@ipaddr
  2. Создайте нового пользователя, если вы этого ещё не сделали:

    sudo adduser newuser
  3. Переключитесь на нового пользователя:
    Для этого выполните следующую команду:

    sudo -i -u newuser
  4. Создайте каталог .ssh для нового пользователя, если он не был создан:

    mkdir -p ~/.ssh
  5. Скопируйте ваш публичный SSH-ключ в файл authorized_keys:
    Откройте файл authorized_keys в текстовом редакторе, например, с использованием nano:

    nano ~/.ssh/authorized_keys

    Затем вставьте содержимое вашего публичного ключа (обычно находящегося в файле mykey.pub). Вы можете скопировать его содержимое с помощью следующей команды на своей локальной машине:

    cat .ssh/mykey.pub
  6. Сохраните изменения и закройте редактор:
    Если вы используете nano, нажмите CTRL + X, затем Y, чтобы подтвердить сохранение, и Enter.

  7. Установите правильные права доступа для каталога и файлов:
    Выполните следующие команды, чтобы установить корректные права доступа:

    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
  8. Выйдите из сессии пользователя newuser и вернитесь к пользователю ubuntu:

    exit
  9. Проверьте возможность подключения к newuser подойдя с помощью SSH:
    Теперь вы должны иметь возможность подключиться к newuser с помощью SSH:

    ssh -i .ssh/mykey newuser@ipaddr

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

Дополнительные рекомендации:

  • Следите за тем, чтобы в будущем использовать только безопасные методы аутентификации, такие как SSH-ключи.
  • Регулярно обновляйте и защищайте ваши приватные ключи.
  • Рассмотрите возможность создания резервных копий ваших ключей в безопасном месте.

Если у вас остались вопросы или возникли трудности на любом из этапов, не стесняйтесь обращаться за помощью.

Оцените материал
Добавить комментарий

Капча загружается...