Вот вопрос, на который я не нашел абсолютно никаких ответов: как можно настроить sshd так, чтобы любой мог свободно зайти по SSH в ящик без пароля или аутентификации по ключу? Цель состоит в том, чтобы позволить любому запустить "ssh user@host" и войти в ящик без необходимости указывать пароль или настраивать какие-либо ключи. Возможно ли это вообще?
Прежде чем кто-либо спросит, я прекрасно понимаю, что на практике это плохая идея, однако это исключительно для сервера-песочницы, который я использую в учебных целях.
решение1
Отказ от ответственности: Я бы никогда не рекомендовал этого делать.
Я предполагаю, что это для локальной сети (надеюсь, не для интернет-системы), но вы можете создать пользователя без пароля и включить следующую опцию в конфигурации 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).
Файл закрытого ключа никогда не должен быть опубликован, но его можно предоставить любому, кому вы хотите предоставить доступ к этому пользователю@машине.