SSH はユーザーを無視し、他のユーザーとしてログインします。

SSH はユーザーを無視し、他のユーザーとしてログインします。

私の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_keysSSHは、一致するキーを見つけるか、認証が失敗するまでファイル内のすべてのキーを試します。公開鍵認証が失敗した場合は、使用可能な場合は次の認証方法を試してください。

したがって、リモートホストファイルに最初の公開鍵を置くと、古い~/.ssh/authorized_keys鍵が最初に見つかります。

localhost側では、SSHエージェントが機能します。秘密鍵はキャッシュされたSSHエージェントに追加され、リモートホストの公開鍵と一致するまで鍵が試行されます。

関連情報