Я хочу получить доступ к удаленному серверу через SSH, на котором установлено расположение авторизованных ключей, заданное как /path/to/ssh/authorized_keys.%u
.
Теперь мне интересно, как мне мотивировать ssh-copy-id
создание authorized_keys
файла в этом месте, следуя этому соглашению об именовании.
Я попробовал ssh-copy-id -i /path/to/id_rsa.pub username@[ip-addresse] -o /path/to/ssh/authorized_key.username
, но выдает ошибку:
ERROR: command-line: line 0: Bad configuration option: /path/to/ssh/authorized_keys.username
Написав это, я задаюсь вопросом, может ли SCP в качестве альтернативы предоставить решение (хотя не могу сказать, как именно).
Кто-нибудь может с этим помочь?
решение1
ssh-copy-id
невозможно установить открытые ключи в файл, предоставленный пользователем. .ssh/authorized_keys
(или /etc/dropbear/authorized_keys
для сервера dropbear). Вы можете внести опцию, позволяющую пользователю предоставлять это, но пройдет некоторое время, прежде чем такой патч будет принят вышестоящим и нижестоящим.
Когда у пользователя есть полный authorized_keys
локальный ключ, он может загрузить его с помощью sftp
. Менее полезно, если он не знает все необходимые ключи, и может заблокировать кого-то, если некоторые из них пропущены.
В качестве альтернативы, настройте sshd так, чтобы пользователям не нужно было загружать свои ключи на каждый хост. Подумайте о том, AuthorizedKeysCommand
что он ищет ключи из какой-то системы, будь то навороченный FreeIPA или что-то более простое, например, загрузка с какого-то веб-сервера.