Вот вопрос, на который я не нашел абсолютно никаких ответов: как вы можете настроить sshd так, чтобы любой мог свободно подключаться по SSH к ящику без пароля или аутентификации с помощью ключа? Цель состоит в том, чтобы позволить кому-либо запустить "ssh user @ host" и войти в ящик без необходимости указывать пароль или настраивать какие-либо ключи. Возможно ли это вообще?
Прежде чем кто-нибудь спросит, я прекрасно понимаю, что на практике это плохая идея, однако это чисто для сервера песочницы, который я использую в учебных целях.
Предупреждение: Я бы никогда не рекомендовал делать это.
Я предполагаю, что это для системы локальной сети, я надеюсь, не для системы интернет, но вы можете создать пользователя без пароля и включить следующую опцию в конфигурации OpenSSHd:
PermitEmptyPasswords yes
Чтобы удалить пароль у пользователя, вы можете использовать -d
с помощью passwd.
passwd -d username
Правильный способ использования SSH ключей
Вы генерируете пару SSH ключей для себя, способ генерации зависит от вашего клиента. Для linux это ssh-keygen
. Вы можете использовать пустой пароль при генерации ключа, чтобы не вводить его при входе в систему.
На вашем сервере вы можете хранить открытый ключ (id_rsa.pub) в строке в файле authorized_keys, обычно находящемся в каталоге пользователя .ssh
. Этот файл может потребоваться создать. (Для одного ключа должно быть достаточно скопировать id_rsa.pub на сервер как ~/.ssh/authorized_keys).
Файл с закрытым ключом никогда не должен быть выпущен публично, но может быть выпущен любым, кто хочет иметь доступ к этому пользователю@machine.
.