パスワードレスSSHを持つCentOS 6.4ボックスを他の複数のシステムに設定しました。端末をCENTOSコンピュータ上の直接正しいユーザーとして使用するとうまく機能します。ただし、他のシステムから同じユーザーの1つとしてCentOSボックスにログインした場合、RSAキーパスフレーズの入力を求められます。正しいユーザーとしてログオンしているときに必要なのはなぜですか?
だから、3つのマシンがある場合(A、B、C)。 Aがセットアップされているので、SSH上でマシンBにパスワードが接続されている可能性があります。それは大丈夫です。ただし、From Machine C CからSSH、そのリモートSSH端末からBにSSHを試みると、これにはパスワードが必要です。
マシンAには、他のいくつかのマシン(パスワードに)アクセスするスクリプトがあります。マシンCからマシンAにリモートでログインできるようにする必要があり、マシンBにアクセスするスクリプトを開始する必要があります。
パスフレーズなしでキーを生成するか、_SSH_ASKPASS
_変数を使用して現在の端末からパスフレーズを読み取る特殊なスクリプトを作成します。これは、関連するスクリプトからssh-addを呼び出すときに特に便利です。例えば:
_install -vm700 <(echo "echo 'my_passphrase'") $HOME/.ps
cat /path/id_rsa | ssh-add DISPLAY= SSH_ASKPASS=$HOME/.ps -
_
ノート:
.ps
_スクリプトは1回限りの作業ですが、残りはRCファイルに追加できます。ssh
が端末を持つか、DISPLAY
が設定されている場合は機能しません。eval "$(ssh-agent -s)"
あなたが言った、
としての1つそれら同じユーザー
だから私たちは話しています複数のユーザー。
私が正しいのなら、それが私に起こっているように思われることはこれです:
foo
bar
B:/home/bar/.ssh/authorized_keys
の公開鍵はA:/home/foo/.ssh/identity.rsa
にあるfoo
の公開鍵を持っています。foo
からssh bar@B
を発行し、それを機能させてPasswordless。マシンCからユーザーbar
がマシンA( "同じユーザーの1つ")、すなわちbar
として、彼はbar@A
になります。 foo@A
ではありません。そして彼がbar@B
としてログを記録しようとすると、ssh
によって取得されたIDキーはログインを実行することですbar
です。それは:/ home/---foo /。ssh/identity.rsa、しかしa:/ home/bar /。ssh/identity.rsa。たぶんそのfile is =パスフレーズによってロックされています。
そのため、ユーザーとそれらが使用しているIDを確認してください。