SSHエージェント転送の概念に苦労しています。
これは私がこれまでに行ったことです:
ここで、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).
が発生します。
実際にエージェントにキーを追加していないようです。
ローカルワークステーションがLinuxの場合、セッションの一部としてエージェントが実行されている可能性があります。その内容はssh-add -l
で調べることができます。
キーがエージェントに追加されていない場合は、ssh-add
を使用して追加することもできます。
その後、mysite.beにssh
すると、ssh-add -l
を実行したときにリストされているキーフィンガープリントが表示されるはずです。
あなたが[ユーザー]を逃しているかもしれないと思います...
ホストmysite.be ユーザーyour_user_name_here ForwardAgent yes
次に、コンソールで...
$ ssh mysite.be
このようにすると、ローカルマシンのSSHクライアントは、リモートユーザー[your_user_name_here]の資格情報をリモートサーバーmysite.beに転送します。後者は、Bitbucketによってチャレンジされます。また、ssh-agentはリモートで自動的に起動されます。