web-dev-qa-db-ja.com

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

Sshサービスのパスワードログインを無効にできるスクリプトを生成するよう割り当てられています。/etc/sshd_configファイルを編集することでこのアクションを実行できることはわかっていますが、メンターは、調査する必要があるファイルは/ etc/passwordファイルであると述べました。それが私がこの仕事をするためのヒントでした。これが私がしたことです、私はユーザーの「x」記号を削除しました。このフィールドはパスワードのハッシュ用に予約されていると思いました。

オリジナル

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

編集後:

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

結果:キーがないと、パスウィンドウを再入力する必要があります。

明確にするために更新:piサーバーにログインするには、スクリプトを使用して公開鍵と秘密鍵に応答する必要があります。別の言い方をすれば、パスワードなしのログインを試して、セキュリティを強化する機能にします。

2
vincent pham

/etc/passwdファイルを直接編集する必要はありませんが、主張する場合は編集できます。

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

man passwdを使用すると、ロックされたアカウントのロックを解除する方法など、その他のオプションを確認できます。言うまでもなく、このコマンド必須はroot権限で実行する必要があります。


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

PasswordAuthentication no

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

8
roaima

@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インジェクション攻撃のシステム/サービスアカウントを識別するために使用されます。

0
memtha