キーを使用してSSHログインを設定しましたが、正常に動作します。問題は、キーと埋め込みパスワードを使用してサーバーに接続するときに間違ったパスワードを入力しても失敗したログイン試行が表示されないことです。次のキーストロークを使用したログイン試行の失敗はありません。
/var/log/audit/audit.log
または
/var/log/secure
つまり、特別な措置なしに死ぬまでパスワードを入力できるという意味だ。鍵とパスワードを使用して失敗したSSHログイン試行を記録する方法についてのアイデアはありますか?
オペレーティングシステムはRed Hat Enterprise Linux Serverバージョン7.3(Maipo)です。
よろしくお願いします。
無効なパスワードを複数回入力したときにサーバーで発生したログは次のとおりです。
Connection from my_ip port 51115 on server_ip port 22
sshd[3639]: Found matching RSA key: 00:12:23 ...
sshd[3639]: Postponed publickey for some_user from ip_address port 51115 ssh2 [preauth]
答え1
サーバーに接続する前にキーを開くには、パスワードを要求するようにクライアントキーを設定したようです。これはクライアントシステムで発生するため、サーバーに書き込まれません。
答え2
デフォルトでは、SSHキーを保護するパスワードは完全にクライアントの問題です。ssh-keygen
サーバーに接続せずにパスワードを変更できるようにすることも検討してください(ssh-keygen -p -f id_rsa
)。もちろん、これには以前のパスワードを知る必要がありますが、サーバーにパスワードを入力していることを暗示することなく推測できます。
つまり、サーバーに接続すると、SSHクライアントはサーバー上のすべてのキーを提供します。今後鍵を解読するにはパスワードが必要です。キーを許可しないホストに接続すると、パスワードを要求されないことがわかります。
$ ssh -v -v somehost
...
debug1: Offering RSA public key: /...
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-rsa blen 407
debug2: input_userauth_pk_ok: fp blah
debug1: key_load_private_type: incorrect passphrase supplied to decrypt private key
Enter passphrase for key '/...':
技術的には、キーを提供するが認証に使用しないクライアントを検出するようにサーバーを変更できます。ただし、攻撃者が認証を試みる前にキーの復号化を試みる可能性があるため、これは役に立ちません。繰り返しますが、これは一般的なユーティリティでも可能です。これがまさに実行時に行うことですssh-agent
。
キーが不足している場合は、現在のバージョンのOpenSSHを使用すると、サーバーでもキーを要求できます。そしてパスワード。これ文書これを例として使用すると、最初にキーが必要になり、次にパスワードが必要です(「パスワード」または「キーボード対話型」認証を使用)。
AuthenticationMethods publickey,password publickey,keyboard-interactive