Назад | Перейти на главную страницу

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

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

PubkeyAuthentication yes
PasswordAuthentication yes

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

ssh-copy-id <my-server>

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

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

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

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

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

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

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

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