タグ付けされた質問 「ssh-agent」

ssh-agentは、OpenSSHソフトウェアに含まれているSSHのシングルサインオンメカニズムです。ssh-agentの構成方法と使用方法に関する質問には、このタグを使用してください。


3
SSHエージェントのデフォルトのタイムアウトの構成
ssh-addSSHキーをSSHエージェントに追加するために使用します。デフォルトでは、無期限に追加されます。タイムアウトを指定するコマンドラインオプションがありますが、デフォルトのタイムアウトを指定する構成ファイルオプションはありますか? 私が欲しいのはssh-add、コマンドラインパラメータなしで実行できるようにして、デフォルトのタイムアウト時間を指定することです(まるでを呼び出したかのようにssh-add -t 1h)。
10 ssh  ssh-agent 

2
ssh-agent:キーリング全体の認証を転送しません
私は2つの秘密SSHキーを持っています: 私の個人的なマシンにアクセスするための1つ、 1つは、私の仕事でサーバーにアクセスするためのものです。 これら2つのキーをを使用してssh-agentに追加しssh-addます。 ここで、ssh -A root@jobsrv自分のジョブキー(接続に使用しているものjobsrv)に対してのみエージェント認証を転送したいと思います。 rootアクセス権を持つ誰もがjobsrv私のエージェントを使用して自分のマシンに対して自分自身を認証できるため、これが必要です。 この分離を達成する方法はありますか?

4
gnome-keyringはどこに$ SSH_AUTH_SOCKを設定しますか?
私はgnome-keyring、SSHエージェントとして処分する過程にあります。 私がしたこと 何時間もインターネットを検索しました。 頻繁に変更され、再起動されました。 最後にrm、SSHに関連するすべての自動起動の項目を編集しました。 エージェントのソケットがなくなったので、最後のことは魔法のように機能しました。 /run/user/[uid]/keyring/ssh 問題 残りの問題は、ということであるにもかかわらず、私の素晴らしい上記の結果、得られる何かでgnome-keyringまだ設定を主張SSH_AUTH_SOCKし、今 存在しない上記のソケットを。それはゾンビのようなもので、これらは決して死ぬことはありません。 質問 その変数を設定することは何ですか?それはどこで行われますか? 落とし穴 その変数を別の値にリセットする方法を尋ねているのではありません。 システム全体またはシェル構成ファイルでその値を設定する方法を尋ねているのではありません。 私は、何かをフリーズ、設定、リセット、設定解除、または置き換えるために、いくつかのinit-scriptブードゥー教の呪文を要求していません。 モノをアンインストールする方法についてアドバイスを求めているのではありません。パスワードにも必要です。Gnomeで最も統合され、洗練されたパスワードマネージャーのようです。 私はそれがあるべきであるようにそれを無効にしたいです。

1
--noaskオプションを指定したキーチェーンを使用してSSHキーパスフレーズを保存する
キーチェーンを使用してSSHキーのパスフレーズプロンプトを管理したいのですが、1)実際にキーを使用している場合にのみ質問し、2)その後しばらく保存する必要があります。現在2つのオプションがあります。 $ eval `keychain --eval --agents ssh id_rsa` -起動時に常にパスフレーズを要求しますが、それを保存します。 $ eval `keychain --eval --noask --agents ssh id_rsa` -これは起動時に何も要求しませんが、そのキーを使用するたびにパスフレーズを要求し続けます。 これらの方法の利点を組み合わせる方法はありますか?
10 ssh  ssh-agent 

2
シェルで(ウィンドウではなく)秘密鍵のパスフレーズを要求するようSSHに強制する
起動後に初めてSSHを使用すると、秘密鍵のロック解除パスフレーズを要求されます(これは私が期待する動作です)。しかし、それはシェルではなくウィンドウで行われます(gksudoVS と同様sudo)。これはイライラします(ウィンドウをクリックするためにマウスを使用する必要があります)、次にバグが発生することがあります(全画面でGuakeターミナルを使用することがあります。その場合、SSHウィンドウに集中できず、Xを再起動する必要があります) )。 だから、私の質問は:ウィンドウをポップするのではなく、コマンドラインでSSHに秘密鍵のパスフレーズを要求する方法はありますか?

1
だれが私のssh-agentを起動しており、なぜそれが正しく終了しないのですか?
これは長い間抱えていた問題ですが、何かを見つけようとするたびに迷子になるので、経験豊富な人がどこで助けてくれるのか、ここで尋ねたほうがいいと思いました。 バックグラウンド 私のRaspberry PiはRaspbian Jessieを実行しており、SSHを使用してログインし、リモートでコマンドを実行します。最初のSSHセッション中に、ログインするたびにRPiでssh-agentプロセスが生成されるのに気づきましたが、ログイン時に強制終了されることはありませんでした。exitログインとログアウトを数回ssh-agent繰り返すと、何もせずにハングしたままにして一連のプロセスが生成されました。manページとあちこちで答えをいじくり回して読んだところ、最近の目的がわかりました。ssh-agentまた、ログアウトすると通常は強制終了されるので、なぜそうでないのかを自問し始めました。さらに、発行source ~/.bashrcによっての別のインスタンスssh-agentが生成されることに気付きました。相対マニュアルページで読んだ環境変数SSH_AGENT_PIDを定義する必要があるのは、ssh-agentプログラムを内でeval起動して出力を実行し、そのような変数を定義する必要があるためです。これらの変数は、ssh-agent -k(現在のセッションに関連するエージェントを強制終了する)など、他のSSH関連コマンドで使用されます。とを実行echo $SSH_AGENT_PIDしましたがecho $SSH_AUTH_SOCK、どちらも空でした。突然気づきました。おそらくssh-agent -k設定されていない環境変数からPIDを読み取ろうとするため、ログアウト時にプロセスが強制終了されません。 問題 以来は、ssh-agentログアウト時に殺されていない、これは確かに必要な環境変数が設定されていないので、それができるだけで平均1の事が起こる:呼び出し、誰でもssh-agentログイン時に、おそらく適切な方法でそれをしない(されるであろうeval "$(ssh-agent -s)")。だから私は思った:まあ、問題は何ですか?エージェントを起動して手動で修正するために実行される構成ファイル、サービス、またはログインスクリプトを見つけるだけです!一体どこにあるのでしょうか? 私が試したこと ssh-agentを呼び出すたびにが生成されることに気付いたのでsource ~/.bashrc、これは最初に検査したファイルですが、SSHに関連するものをリモートで参照するものはありません。次のすべてのファイル内で文字列を検索し続けましたが、何も見つかりませんでしたvissh。 ~/.bashrc ~/.profile /etc/bash.bashrc /etc/profile /etc/profile.d/ (every file in this folder) /etc/environment 関与する可能性のあるファイルが他にありますsource ~/.bashrcか?よくわかりません。 次に、関連するsystemdサービスを検索しましssh.serviceたがWantedBy=multi-user.target、見つかったのはであり、ログイン時に実行されていません(これはSSHサーバーデーモンであるため、これは明らかです)。 また、/home/piフォルダ内のすべてのファイルを一時フォルダに移動してログアウトしてから再度ログインしようとしssh-agentましたが、まだ起動しました。 結局、私はチャンバーで最後に撃ったショットも発射しました:find / -name 'ssh-agent'rootとして/usr/bin/ssh-agent実行し、実行可能ファイルのみを出力したので、基本的には親コマンドのみをログに記録する偽の実行可能ファイルを作成しました: #! /bin/bash ps -o args= $PPID > /home/pi/LOG cat /proc/$PPID/cmdline >> /home/pi/LOG 私は本当の名前を変更し/usr/bin/ssh-agent、適切な権限/ユーザー/グループを設定する偽の1つに置き換え、source ~/.bashrc再度実行して、LOGファイルを印刷しました。 …

1
ssh-agentにsudoのような非アクティブ/アイドルタイムアウト機能がない技術的な理由はありますか?
ssh-agent -t[1]で既存の機能についていくつかの簡単な議論があり、2001年までさかのぼってdebian-devel [2]に非アクティブタイムアウト機能を希望する投稿がありました。SEのページェントに関する同様の議論がここ[3]にあります。 地球の他の部分がどのようにSSHキーを保護しているのか疑問に思います。これが私にとってこのような問題点であると思われる明らかなものを欠いているのでしょうか。具体的には、ansibleなどのスクリプト化されたssh対話について考えています。今日、あなたの選択は次のようです: エージェントでのキーの有効期間を心配なほど長い期間に設定します。1hまたはスクリプトの最大実行時間は偶然かもしれません(多くの人がsudo re-authタイムアウトがそれだけ長くなることを許可しているのではないかと思います!)- seahorse/ / gnome-keyring-daemonこれもほとんどサポートしていません[4] 実行時間の長いスクリプトをベビーシットし、5/10/15分ごとにパスフレーズを再入力し続けます。パスフレーズの入力を1日20回簡単に見ることができます おそらくシェルのTMOUTシェル変数と組み合わせて、この欠けている機能を模倣する独自の自家製ソリューションをハックしてください(その提案についてはfreenode #openssh IRCの人々に感謝します) キーの有効期間を設定しないでください。つまり、エージェントはキーを永久にロードするか、強制終了または再起動するまでキーをロードし続けます sshエージェントの短いタイムアウト、強力なパスフレーズ、認証するロールのタイプごとに異なるキーファイルを使用している場合、これは非常にイライラする1日につながります。 私はgpgkey2sshとスマートカードで実験しましたが、これはこの特定の問題を実際に解決しません:ssh-agent機能が引き続き必要で、秘密鍵が公開されないようにするためだけに5分ごとに再認証する必要はありませんコンピュータがアイドル状態のときにメモリに。 私はそれを間違っていますか? [1] SSHエージェントのデフォルトのタイムアウトの構成 [2] https://lists.debian.org/debian-devel/2001/09/msg00851.html [3] /server/518312/putty-pageant-forget-keys-after-period-of-inactivity [4] https://bugs.launchpad.net/ubuntu/+source/gnome-keyring/+bug/129231

1
ssh-agentをサイレントにするにはどうすればよいですか?
自宅の.bashrcファイルに次のようなスクリプトがありますmysuer。 eval `ssh-agent` ssh-add /path/to/my/key 問題は、ユーザーmysuer(su - myuser)でログインしたときに次の出力が表示されることです。 Agent pid 1234 Identity added: /path/to/my/key (/path/to/my/key) これを避け、この出力を無音にしますが、ssh-agentおよびをロードしssh-addます。 どうすればこれを実行できますか?
9 ssh  ssh-agent  output 

1
SSHエージェントIDの残りの寿命を検出する
このssh-addコマンドを使用すると、に追加されるIDのライフタイムを指定できますssh-agent。たとえば、 ssh-add -t 1h IDは1時間後に期限切れになります。次に、を使用してエージェントによって現在表されているIDをリストできssh-add -lます。 ssh-addIDの残りの有効期間を判断する方法(コマンドを実行するときに情報を記録する以外)はありますか?そうでない場合、この情報を取得する方法がないはずのセキュリティ関連の理由はありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.