Как скопировать открытые ключи ssh от других пользователей в их ~/.ssh/authorized_keys на удаленном сервере?

Мне известна команда 'ssh-copy-id', но я предполагаю, что она работает только в том случае, если пользователь в настоящее время имеет обычный доступ через свой пароль на удаленном компьютере. Я мог бы скопировать файлы с помощью SCP в свой собственный каталог, затем войти в систему и скопировать файлы в каталог пользователей, но я хотел бы иметь метод, который не требует дополнительной обработки на удаленном сервере.

  • Разрешен только ssh password-less-login (никому из пользователей не разрешено входить с паролем
  • В настоящее время один пользователь (я) имеет доступ без пароля для входа в систему и имеет права 'sudo'
  • Предположим, что у других пользователей нет каталога '~/.ssh'

локальный клиент: MacOs X

удаленный сервер: Debian

1 ответ1

0

Лучше всего написать сценарий.

Существует параметр конфигурации sshd, который называется AuthorizedKeysFile по умолчанию он имеет значение .ssh/authorized_keys .ssh/authorized_keys2

Вы можете создать пользовательские ключи в /etc/sshd/authorized_keys.%u

Пример:/etc/ssh/sshd_config

AuthorizedKeysFile /etc/ssh/authorized_keys.%u .ssh/authorized_keys .ssh/authorized_keys2

Затем вы создаете /etc/ssh/authorize_keys.pyther. Вы бы положили мой открытый ключ в файл. Когда я вхожу в систему, я использую свой закрытый ключ.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .