2つの異なるシステムの2つのローカルユーザーがパスワードなしの認証にSSHキーを使用できますか?

2つの異なるシステムの2つのローカルユーザーがパスワードなしの認証にSSHキーを使用できますか?

/localhome/user同じネットワーク上の2つの別々の仮想マシンに2つのローカルユーザー(以下にホームディレクトリが一覧表示されています)があります。これらは同じuid(に設定/etc/passwd)と同じユーザー名(<user>ここ)を共有します。

useradd user -g user

VM-A で次のコマンドを実行して公開鍵を生成します。

[user@VM-A] ssh-keygen -t rsa -C "[email protected]" -b 4096

VM-Aで生成された公開鍵をコピーして/localhome/dev/.ssh/authorized_keysVM-Bに配置しました。 VM-AからVM-BへのSSHを試みると、パスワードプロンプトが表示されます。

[user@VM-A] ssh user@VM-B
password:

権限が正しく設定されていることを確認しました(両方の.sshディレクトリが700、VM-Bでは664)authorized_keys。また、両方のユーザーがに設定されていて好きではないことを確認しました/bin/bashnologin/etc/passwd

restorecon -R -v ~/.sshVM-AとVM-Bでも実行してみました。

私が完全にクレイジーではないことを確認するために、与えられたアカウントを使用してsshパスワードなしでできることを確認しました。このアカウントはマウントされた「プライマリ」ドライブにアクセスできます。まず、VM-AからVM-Bに移動しようとしましたが、sshパスワードの入力を求められました。その後、キーを生成して更新し、authorized_keys再試行しました。 2番目に、ssh私のアカウントを使用して別の仮想マシンに正常に接続しました。

ローカルユーザーを使用して2つの異なる仮想マシンにSSHキーを設定できますか?

答え1

あなたの権限がauthorized_keys広すぎます。あなたはそれらを修正することができます

chmod u=rw,go= ~/.ssh/authorized_keys

たとえば、サーバーが証明書を使用できない理由をセキュリティログで確認できます/var/log/auth.log

関連情報