web-dev-qa-db-ja.com

SSHエージェント転送が機能しない

Githubでホストされているアプリを展開するようにCapistrano 3.1を構成しようとしています。

Capistrano Documentation をフォローしていますssh -A [email protected] 'git ls-remote [email protected]:my_user/my_repo.git'

18f38afz261df35d462f7f4e2ca847d22f148a06    HEAD
18f38afz261df35d462f7f4e2ca847d22f148a06    refs/heads/master

しかしながら、 ssh [email protected] 'git ls-remote [email protected]:my_user/my_repo.git'失敗:

Permission denied (publickey).

Capistrano docsが提案する

「ホストキーの検証に失敗しました」というエラーが表示された場合。サーバーにログインし、デプロイユーザーとしてコマンドssh [email protected]を実行して、既知のホストのリストにgithub.comを追加します。

そう、私はそうしようとしたが、私は得る

ssh [email protected]
Warning: Permanently added the RSA Host key for IP address '192.30.252.131' to the list of known hosts.
Permission denied (publickey).

また、基本的にGithubリポジトリに正常にアクセスできません。

SSHドキュメントの状態:

-A      Enables forwarding of the authentication agent connection.  This
         can also be specified on a per-Host basis in a configuration
         file.

構成ファイルでホストごとに指定するにはどうすればよいですか?

私のローカルマシンはMac OSX Mavericksを実行しています。 VPSはUbuntu 12.04を実行します

ありがとう。

28
Sig

ローカルコンピューターの.ssh/configファイルに次の行を追加します

  Host Server_Address
     ForwardAgent yes

Ssh-addリストにリストされているかどうかにかかわらず、ローカルキーを確認します。

ssh-add -L

SSHエージェントにキーを追加しない場合

ssh-add -K

リモートサーバーに接続する

ssh -v username@Server_Address

次のコマンドを実行して、SSHエージェント転送が有効になっていることを確認します。ソケットファイルをリストする必要があります

echo "$SSH_AUTH_SOCK"

GitHubに対して接続テストを実行する

ssh -T [email protected]

対象のGitリポジトリに対してlsリモートテストを実行する

git ls-remote --heads [email protected]:account/repo.git

最後にログアウトして、ローカルマシンから以下を実行します

cap production git:check
25
Tahsin Turkoz

次を〜/ .ssh/configに追加します

Host one-of-my-servers.com
    ForwardAgent yes
7
Brad Pitcher

Sshキーを追加してからターミナルを終了すると、次にターミナルを開いたときに再度追加する必要があります。

0
Roger Iyengar