openssh:必要に応じてsshにエージェントにキーを追加させます


25

サーバーにsshし、キーがエージェントにロードされていない場合、中止し、ssh-addを実行して、エージェントにキーを取得します。ただし、キーが存在しない場合は、sshコマンドでキーを自動的に追加したいと思います。これは可能ですか?


すべてのターゲットホストに1つのキーがありますか、または異なるパスワードを持つ異なるキーがありますか?Windowsのパテを使用していますか、LinuxでXベースのウィンドウシステムを使用していますか、それともMacを使用していますか?
オテウス

1つのキーとopensshを使用しています。sshはすでに正しいキーを見つけ出し、パスフレーズを要求しますが、入力した後、キーはエージェントに保存されません。この動作は、すべてのPOSIXシステムとcygwinで同じです。
enigmaticPhysicist


いいえ、それは違います。エージェントが停止するたびにキーパスワードを入力したい。最初にssh-addを使用するのではなく、sshが必要に応じて直接エージェントにキーを追加したいのです。
enigmaticPhysicist

回答:


35

AddKeysToAgentオプションは、私が欲しいものを行います。私-o AddKeysToAgent=yesはコマンドラインで指定するかAddKeysToAgent yes、自分の行でそれ自体を追加することができます.ssh/config。どちらも動作します。

これは、2016-02-28のリリース7.2に登場する、opensshのごく最近の追加のようです!

http://www.openssh.com/txt/release-7.2

ありがとう、OpenBSD!これをたくさん使います。


.ssh / config:行3:無効な構成オプション:AddKeysToAgent。何かご意見は?Unixサーバー
trainoasis

opensshのバージョンを確認してください。$ ssh -V。7.2以降である必要があります。
enigmaticPhysicist

確かにそうでした、ありがとう。ただし、再ログ後もパスワードを要求されます。たとえば、常にパスを入力する必要がある場合、スクリプトを使用してgit pullを自動化する方法は?そして、パスワードなしのid_rsaは良いアイデアではないと思います...
trainoasis

sshログイン間、またはローカルログイン間ですか?パスワードは、ローカルログイン間で消去されることになっています。
enigmaticPhysicist

私はローカルでスクリプトを実行するたびに、それはそこにSSHおよびその他のgitプルを実行しますが、それはGITのコマンドのパスワードを必要とするので、もちろん、それは(sshがパスがキーホルダーにあるのでなしに動作しますが、もちろんそこにコマンドがパスを求める)カント必要があります
trainoasis
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.