Mac端末でSSHエージェント転送を行う方法は?


12

私はこれに関して多くのチュートリアルをチェックしましたが、はっきりしていません。

tutsごとに、エージェント転送を構成する方法は2つあります

  1. あなたの設定ファイル~/.ssh/configセット

    Host example.com
    
    ForwardAgent yes
    
  2. のようなアイデンティティを追加することによってssh-add

それの用途は何ですか

  1. キーパスフレーズの保存に使用されるSSHエージェント転送。毎回パスフレーズを入力する必要がないようにするには?

  2. SSHエージェント転送をテストするために2つのサーバーが必要ですか?提案してください。または、単一サーバーでもテストできますか?

私はこのgitハブリンクを確認し、同じ手順に従いました。エージェントを見ることができます。このコマンドを実行すると、動作echo "$SSH_AUTH_SOCK" しているということですか?

サーバーでどうすればよいですか?案内してください。

更新: sshしようとすると、ターミナルにこのエラーメッセージが表示されます

エージェントは、キーを使用した署名の失敗を認めました。

回答:


8

1)それを使用する1つの方法は正しく、もう1つはコマンドライン引数-Aです。

2)エージェントはキーのパスフレーズを保存しています。エージェント転送は、リモートサーバーでローカルID(パスフレーズありまたはパスフレーズなし)を使用して、安全でない可能性のある環境にコピーする必要がないようにするためのものです。

3)1つのサーバー、たとえばlocalhostでテストできます。

4)echo "$SSH_AUTH_SOCK"設定されているssh-add -Lことを確認する必要がありますが、実行するとエージェントへの接続がテストされるため、より確実に確認されます。


返信いただきありがとうございます。キーとSSHを追加する必要があるという意味です。ssh username@servername.comそしてそれはエージェントによって保存されるのであなたにパスフレーズを尋ねませんか?servername = localhostを使用できますか?
Niks

ssh-add your-key鍵が生きている場合は、エージェントに鍵を追加します(パスフレーズを1回要求します)。次に、ssh server-Aまたは設定オプションを使用して)パスフレーズを要求せず、そのホストからの他の接続がパスフレーズを要求しないようにする必要があります)
Jakuje

おかげで...構成ファイルでフォワードエージェントを[はい]に設定すると、-Aを使用せずにsshを実行できますか?提案してください。
Niks

こんにちは。コマンド$ SSH_AUTH_SOCKを実行すると、次のような結果が表示されます。-bash:/tmp/ssh-gT43vE99vk/agent.511:権限が拒否されました。 ?またssh-add -L、これには、追加したSSHキーがリストされています。私を提案してください。
Niks

「実行中のコマンド$SSH_AUTH_SOCK」はありません。UNIXドメインソケットへのパスを含む環境変数であり、明らかに実行できません。ただしssh-add、このソケットを介してエージェントと通信できます。echo "$SSH_AUTH_SOCK"変数が設定されていることを確認するために書きました。
Jakuje
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.