SSHを使用して2台のMacマシン間を接続する場合標準ユーザーとしてパスワードなしの接続は両方のMacで正常に機能します。
しかし、同じことをするたびにrootとしてパスフレーズを入力するように求められます。 PermitRootLogin without-password
私の/etc/sshd-config
私のルートがどうしたのですか?なぜこれが起こるのか考えてみてください。
次に:次の方法を使用して、パスフレーズをキーチェーンに追加しようとしました。
$eval "$(ssh-agent)"
$ssh [email protected] && ssh-add -K
キーチェーンウィンドウが表示されますが、何らかの理由で入力できないため、閉じます。そして、それを閉じると、ターミナルはパスフレーズを入力するように促します。そして、私がした後、私は接続を取得します。だから私はタイプした
$ exit
そしてこれを手に入れました:
Could not create keychain item
Identity added: /var/root/.ssh/id_rsa (/var/root/.ssh/id_rsa)
だから、それは私が信じているキーチェーンの問題です(または何らかの理由でこのように機能するはずですか?)この後、ssh-agentを停止するまで実際にパスフレーズを入力する必要がないという面白いことです:((( (((
私はこれを2台のMacで試しましたが、まったく同じ結果が得られました
キーチェーンがrootとしてsshを実行するときにパスフレーズを保存するのに、標準ユーザーとしてsshを実行すると正常に機能する理由を誰かに教えてもらえますか?
ついに私は自分で答えを見つけ、それが私の問題を解決しました。
したがって、/usr/local/bin/ssh-add
は絶対に使用しないでください。 OSXに付属するデフォルトの/usr/bin/ssh-add
のみを使用します。これはキーチェーンとシームレスに連携するため、私が行ったことは次のとおりです。
$ /usr/bin/ssh-add -k ~/.ssh/id_rsa
シンプル。これで、パスフレーズはキーチェーンに永続的に保存され、Macを再起動するたびにssh-add -k
を実行する必要がなくなりました。