Команда для отключения входа по паролю через ssh?

Команда для отключения входа по паролю через ssh?

Итак, я знаю, что могу отключить аутентификацию по паролю через ssh, изменив /etc/ssh/sshd_configна PasswordAuthentication Yes. PasswordAuthentication noЯ хочу гарантировать, что вход по ssh может быть выполнен только через ключевой файл для каждого пользователя.

Есть ли хорошая однострочная команда, устанавливающая эту опцию?

решение1

Я успешно это проверил:

sudo sed -E -i 's|^#?(PasswordAuthentication)\s.*|\1 no|' /etc/ssh/sshd_config
if ! grep '^PasswordAuthentication\s' /etc/ssh/sshd_config; then echo 'PasswordAuthentication no' |sudo tee -a /etc/ssh/sshd_config; fi

Это будет использоваться sedдля редактирования файла на месте. В дополнение к замене всего, что следует PasswordAuthenticationза ним no, он удалит комментарий в начале строки, который по умолчанию присутствует в Ubuntu. Если эта команда будет запущена во второй или третий раз, никаких дополнительных изменений в файле не будет.

Вторая строка добавляет параметр конфигурации в файл на случай, если он был каким-то образом удален.

Связанный контент