Я хочу иметь возможность указывать ключи в двух отдельных файлах: один управляемый пользователем, другой автоматически генерируемый инструментом.
Как сделать так, чтобы файл, например, ~/.ssh/authorized_keys_generated
также проверялся на наличие ключей при входе в систему?
решение1
Просто добавьте имя файла рядом со старым.
AuthorizedKeysFile ~/.ssh/authorized_keys ~/.ssh/authorized_keys_generated
решение2
Это не совсем ваш вопрос, но вы также могли бы использоватьAuthorizedKeysCommand
в файле конфигурации ssh. sshd
запустит команду с пользователем в качестве первого параметра, а стандартный вывод скрипта должен иметь строковый формат, соответствующий authorized_keys
формату.
Вы можете использовать такой скрипт:
#!/bin/bash
for file in /home/$1/.ssh/*.pub; do
cat $file;
done
Это выводит все файлы в открытом ключе в ~/.ssh
, предоставляя доступ к каждому ключу в нем.
Но это еще не все, AuthorizedKeysCommand
можно использовать для вызова сервера авторизации, который предоставляет доступ на основе вашей бизнес-логики, например. Это мощный инструмент.