Sshサービスのパスワードログインを無効にできるスクリプトを生成するよう割り当てられています。/etc/sshd_configファイルを編集することでこのアクションを実行できることはわかっていますが、メンターは、調査する必要があるファイルは/ etc/passwordファイルであると述べました。それが私がこの仕事をするためのヒントでした。これが私がしたことです、私はユーザーの「x」記号を削除しました。このフィールドはパスワードのハッシュ用に予約されていると思いました。
オリジナル
pi:x:1000:1000:,,,:/home/pi:/bin/bash
編集後:
pi::1000:1000:,,,:/home/pi:/bin/bash
結果:キーがないと、パスウィンドウを再入力する必要があります。
明確にするために更新:piサーバーにログインするには、スクリプトを使用して公開鍵と秘密鍵に応答する必要があります。別の言い方をすれば、パスワードなしのログインを試して、セキュリティを強化する機能にします。
/etc/passwd
ファイルを直接編集する必要はありませんが、主張する場合は編集できます。
passwd --lock pi # Lock the "pi" user account
man passwd
を使用すると、ロックされたアカウントのロックを解除する方法など、その他のオプションを確認できます。言うまでもなく、このコマンド必須はroot権限で実行する必要があります。
Sshのパスワードベースの認証を無効にすることを説明するために質問を編集したので、これを/etc/ssh/sshd_config
の簡単な編集で適用できます。
PasswordAuthentication no
サービスを再開することを忘れないでください、systemctl restart sshd
@roaimaは正しいですが、passwd
コマンドまたはsshd_configはおそらくあなたが望んでいるものですが、いくつかの代替案を指摘しておきます。
1)パスワードの先頭に感嘆符を追加します(実際にはpasswd -l
の機能です。manページを参照してください)。実際のパスワードハッシュは/etc/shadow
ではなく/etc/passwd
にあることに注意してください。
2)usermod --expiredate 1
(または過去の任意の日、passwdのmanページから)を使用して、アカウントを無効にします(「期限切れ」)。
3)chsh -s /usr/sbin/nologin
または編集/etc/passwd
を使用して、シェルを「/ usr/sbin/nologin」に変更します。これは多くのdebianの子供たちが、特殊なアカウント(Apache、メール、sshdなど)に対するstymieインジェクション攻撃のシステム/サービスアカウントを識別するために使用されます。