したがって、を に/etc/ssh/sshd_config
変更することで、ssh 経由のパスワード認証を無効にできることはわかっています。すべてのユーザーに対して、ssh ログインがキーファイル経由でのみ実行できるようにしたいと考えています。PasswordAuthentication Yes
PasswordAuthentication no
このオプションを設定する便利なワンライナーコマンドはありますか?
答え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
続くものを置き換えるだけでなく、Ubuntu ではデフォルトで存在する行の先頭のコメントを削除します。このコマンドを 2 回目または 3 回目に実行しても、ファイルに追加の変更は行われません。PasswordAuthentication
no
2 行目は、何らかの理由でファイルが削除された場合に備えて、ファイルに構成オプションを追加します。