SSH:ルートパスワードログインを無効にしますが、プロンプトは保持します。

SSH:ルートパスワードログインを無効にしますが、プロンプトは保持します。

ユーザーのパスワードログインを無効にしたいと思います。ただし、ユーザーはパスワードログインが無効になっていることを認識し、エラーメッセージ(公開鍵)の代わりにパスワードを求めるメッセージを表示したくありません。

これまで、私は以下を除くすべてのユーザーに対してパスワードログインを無効にできることを知っています。

PasswordAuthentication no
Match User toto
PasswordAuthentication yes

ただし、「not_toto」でログインしようとすると、サーバーに不要なエラーメッセージが表示されます。

これを行うには、opensshソースを変更する必要がありますか?それとも、そのタスクを実行する設定オプションはありますか?

編集する:

2 つの SSH サーバーを実行するオプションがあるため、iptablesSSH 構成の外部または他の手段を使用して接続を終了するだけです。

編集2:

2つのSSHインスタンスが必要なので、これをしたいと思います。 1つは入場のための公式ゲートにあり、もう1つはハニーポットとして使用されます。だからボットは彼らにパスワードを知らせますが、決してインデントしません。 (注:これは個人的なプロジェクトです。私はサーバーを使用している唯一の人であり、同僚のパスワードやその他の不快な内容を記録しません。ボットでいくつかの統計を実行したいと思います。)

「ハニーポット」サーバーはポート22でリッスンし、「公式」サーバーは344などの他のポートでリッスンします。

最初のSSHサーバー(公式サーバー)はOpenSSH_7.4p1 Debian-10+deb9u1, OpenSSL 1.0.2l 25 May 2017Debianパッケージを使用してインストールされます。

Openssh-7.4p1「ハニーポット」は、ログイン試行を記録するユーザー名とパスワードの修正版です。実際にPAMを有効にする必要がありますが、もう一度確認します。おそらくあなたの選択シンボル豆正しいかもしれません。

ベストアンサー1

ここで何を求めているのか分かりません。このユーザーがキーペアを使用してログインできるようにしますか? 「ルートと言ってください」と言いましたが、ルートですか? rootユーザーは常に特別なケースです。

もう一つの明らかな質問はなぜですか?誰かがシステムに侵入したくない場合は、最後にすべきことは彼らが攻撃できるAPIを提供することです。

行間を読むと、LinuxでOpensshdを使用しているように見えます(使用しているアプリケーションとOSのバージョンを明示的に明らかにすると便利です)。

それはさておき...

クライアントがサーバーに送信したユーザー名は、暗号化ネゴシエーション後に送信されます。したがって、単に接続をプロキシして再ルーティングすることはできません。

あなたができることは、sshdにPAMを使用するように指示し、特定のユーザーに提供されたパスワードに関係なくアクセスを拒否するように適切なポリシーを設定することです。これを行うにはいくつかの方法がありますが、pam_listfilesを使用すると、多くの構成をpamスタック自体から移動できることを意味します(サーバーで自分自身をロックする可能性が高いため、pam構成の変更量が減ります)。 )))。

おすすめ記事