私のEC2マシン(ubuntu)で新しいユーザー(newuser)を作成した後、Authorized_keyを追加してSSHを試しましたが、うまくいきませんでした。これで失敗した場合は問題ありませんが、コマンドを有効または設定しても、-l
実際には古いユーザーとしてログインに成功します。user@
sshdがユーザーを無視して以前のログインに戻ることはどのように可能ですか?いくら努力しても、他のユーザーのキーを削除してSSHサーバーを再起動する以外は、新しいユーザーとしてログインすることはできません。
➜ ~ ssh -l 新しいユーザーホスト 最後のログイン:2017年11月2日木曜日10:09:08 5.xxxから ubuntu@ip-172-xxx:~$ whoami Ubuntu ➜ ~ SSH newuser@thehost 最後のログイン:2017年11月2日木曜日10:11:17 5.xxxから ubuntu@ip-172-xxx:~$ whoami Ubuntu
SSHエージェントやキーの使用と関連があると推測していますが、理解するのは非常に難しく、過去2週間前にこの問題が発生したことがないので、これが新機能かどうかわかりません。 。
編集する:ユーザー名は完全に無視されるため、PAM認証と一部のキーキャッシュに関連しているようです。間違ったユーザーなどを入力しても、正常にログインされます。
答え1
~/.ssh/authorized_keys
SSHは、一致するキーを見つけるか、認証が失敗するまでファイル内のすべてのキーを試します。公開鍵認証が失敗した場合は、使用可能な場合は次の認証方法を試してください。
したがって、リモートホストファイルに最初の公開鍵を置くと、古い~/.ssh/authorized_keys
鍵が最初に見つかります。
localhost側では、SSHエージェントが機能します。秘密鍵はキャッシュされたSSHエージェントに追加され、リモートホストの公開鍵と一致するまで鍵が試行されます。