web-dev-qa-db-ja.com

サーバーでのSSHエージェント転送

SSHエージェント転送の概念に苦労しています。
これは私がこれまでに行ったことです:

  1. ローカルのデフォルトIDを作成する(ssh-keygen)
  2. Bitbucketに公開鍵をインストールします

ここで、ssh _[email protected]_のようなサーバーに接続したいと思います。

次に、通常はssh-keygenを使用してサーバー上にキーを作成し、もう一度公開キーをコピーしてビットバケットSSHキーに追加します。その後、SSHリポジトリのクローンを作成し、bitbucketリポジトリにプル/プッシュできます。しかし、それはそれを行う方法ではありません。

サーバー上にキーを作成する必要がないことを確認するにはどうすればよいですか? this のような多くのチュートリアルを読みましたが、まだsshエージェントの転送に苦労しています。

更新:

this チュートリアルを実行しようとしましたが、すでに手順1​​でスタックしています。構成ファイル(〜/ .ssh/configにあります)に次のテキストを追加する必要があると言われています。

_Host example.com
 ForwardAgent yes
_

私の設定ファイルは、最初のステップの前は次のようになっています。

_Host bitbucket.org
 IdentityFile ~/.ssh/id_rsa
_

手順の後、次のようになります。

_Host bitbucket.org
 IdentityFile ~/.ssh/id_rsa

Host mysite.be
 ForwardAgent yes
_

それが機能するかどうかを試すには、サーバーで次のコマンドを実行する必要があります。

_ssh -T [email protected]
_

これを試しましたが、サーバーでエラーPermission denied (publickey).が発生します。

4
nielsv

実際にエージェントにキーを追加していないようです。

ローカルワークステーションがLinuxの場合、セッションの一部としてエージェントが実行されている可能性があります。その内容はssh-add -lで調べることができます。

キーがエージェントに追加されていない場合は、ssh-addを使用して追加することもできます。

その後、mysite.beにsshすると、ssh-add -lを実行したときにリストされているキーフィンガープリントが表示されるはずです。

1
Grant Diffey

あなたが[ユーザー]を逃しているかもしれないと思います...

ホストmysite.be 
ユーザーyour_user_name_here 
 ForwardAgent yes 

次に、コンソールで...

 $ ssh mysite.be 

このようにすると、ローカルマシンのSSHクライアントは、リモートユーザー[your_user_name_here]の資格情報をリモートサーバーmysite.beに転送します。後者は、Bitbucketによってチャレンジされます。また、ssh-agentはリモートで自動的に起動されます。

0
umun