Добавление открытого ключа SSH в новую учетную запись без включения аутентификации по паролю

На сервере SSH у меня есть следующая (усеченная) конфигурация:

PubkeyAuthentication yes
PasswordAuthentication yes

На моем клиенте у меня есть пара ключей, и я добавил свой открытый ключ на сервер с помощью:

ssh-copy-id <my-server>

Теперь, если я изменю PasswordAuthentication возможность no, единственный способ подключиться к моему SSH-серверу будет путем проверки ключей, верно?

Затем, если я хочу добавить нового клиента, мне нужно:

  • временно включить PasswordAuthentication вариант от уже авторизованного клиента и использовать ssh-copy-id от нового клиента
  • или скопируйте / вставьте открытый ключ нового клиента в ~/.ssh/authorized_keys сервера от уже авторизованного клиента.

Но я нахожу эти методы довольно скучными.

Вопрос: есть ли более простой способ добавить новый ключ к ~/.ssh/authorized_keys файл на сервере?

2 ответа

Вы можете изменить нового пользователя authorized_keys файл, как и любой другой файл в системе. Вам не нужно делать это, используя учетную запись пользователя. Подойдет любая учетная запись с правами на запись в файл. Т.е. как правило, root аккаунт (или sudo).

ssh-copy-id просто упрощает процесс, создавая все папки и файлы для вас, с правильными разрешениями. Делая это вручную, вы должны убедиться, что все это самостоятельно.

По сути, ответы на каждый из ваших вопросов - да. Независимо от того, считаете ли вы этот метод "скучным", это приемлемый способ разрешить доступ новому клиенту.

Еще один возможный способ добавления нового ключа - использовать существующий клиент для копирования и вставки содержимого открытого ключа из нового клиента в ~/.ssh/authorized_keys файл для рассматриваемого пользователя на целевой машине - убедитесь, что права доступа и владелец установлены правильно. Это избавляет от необходимости временно разрешать использование паролей для аутентификации (которые необходимо будет передать пользователю, пытающемуся ssh-copy-id операция все равно).

Другие вопросы по тегам