/etc/password ファイルを編集してログインを無効にする

/etc/password ファイルを編集してログインを無効にする

私はSSHサービスへのパスワードログインを無効にできるスクリプトを生成するように指定されました。 /etc/sshd_configファイルを編集することでこれを行うことができることを知っていますが、インストラクターは私が見なければならないファイルが/ etc / passwordファイルであると述べました。これがこの仕事の私の手がかりでした。これが私がしたことです。ユーザーから「x」記号を削除しました。このフィールドはハッシュされたパスワード用に予約されていると思います。

オリジナル

 pi:x:1000:1000:,,,:/home/pi:/bin/bash

編集後:

 pi::1000:1000:,,,:/home/pi:/bin/bash

結果:キーはありません。パスワードウィンドウのみ再入力できます。

わかりやすくするために更新されました:このスクリプトは、piサーバーにログインするための公開鍵と秘密鍵に応答するために使用する必要があります。つまり、セキュリティ強化機能を作成し、パスワードのないログインを試してみました。

答え1

ファイルを直接編集する必要はありませんが、/etc/passwd必要に応じて編集できます。

passwd --lock pi    # Lock the "pi" user account

ロックされたアカウントのロックを解除する方法など、より多くのオプションを表示するにはを使用してくださいman passwd。言うまでもなく、このコマンドは〜しなければならないroot権限で実行してください。


これで、簡単な編集で強制できるSSHパスワードベースの認証を無効にしたいと説明するために、質問を編集したことを確認しました/etc/ssh/sshd_config

PasswordAuthentication no

サービスを再起動することを忘れないでください。systemctl restart sshd

答え2

@roaimaが正しいpasswdコマンドやsshd_configはおそらくあなたが望むものかもしれませんが、いくつかの選択肢を指摘したいと思います。

1)パスワードの先頭に感嘆符を追加します(実際にはこれを行いますpasswd -l。マニュアルページを参照)。実際のパスワードハッシュは/etc/shadowではありません/etc/passwd

2)アカウントusermod --expiredate 1(またはpasswdのマニュアルページの過去の日付)を無効にする(「有効期限前」)。

chsh -s /usr/sbin/nologin3)または編集してシェルを「/usr/sbin/nologin」に変更します/etc/passwd。多くの Debian 子供は、専用アカウント (Apache、メール、sshd など) への注入攻撃を防ぐために、システム/サービスアカウントを識別するために使用します。

関連情報