.sshディレクトリに30個のキー(15個のプライベートキーと15個のパブリックキー)が含まれているとします。
Gitのどこで、特定のリモートリポジトリへの接続に使用されているものを確認できますか?
.sshディレクトリに30個のキー(15個のプライベートキーと15個のパブリックキー)が含まれているとします。
Gitのどこで、特定のリモートリポジトリへの接続に使用されているものを確認できますか?
回答:
冗長モード(別名)ssh -v user@hostでsshを実行すると、大量のデバッグ情報が出力されます。この情報には、ログインしようとしているキーファイルの詳細も含まれています。
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/user/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 332
debug1: read PEM private key done: type RSA
debug1: Authentication succeeded (publickey).
あなたがGitの自身のステップ4で、これを組み合わせると今SSHのヘルプページ、ssh -vT git@github.comあなたに答えを与えることができます。
注:-iスイッチを使用して、コマンドの実行中にsshに使用するキーファイルを指示することもできます。
ssh -vv user@host 2> >(grep Offering)が簡単になります。最後のファイルは公開鍵である必要があります。例:debug1: Offering RSA public key: /Users/macbookpro/.ssh/id_rsa
                    githubと同じものではありませんgit。
                    .ssh/configファイル内の次のエントリは問題を解決します
  host git.assembla.com
  user git
  identityfile ~/.ssh/whatever
~/.ssh/whatever秘密鍵へのパスはどこにありますか
さらに、ユーザーとホストはからピックアップすることができます
git push git@git.assembla.com:repo_name.git
         ^__ ^_______________
         user host
    で指定されて.ssh/configいない限り、デフォルトの秘密鍵ファイルが使用されます。
デフォルトのファイルがある~/.ssh/id_rsaか、~/.ssh/id_dsaまたは~/.ssh/identityプロトコルのバージョンによって異なります。
私の好みに最も実用的だと思います:
GIT_SSH_COMMAND='ssh -v' git …
もちろん、状況によっては、現在のSHELLの環境にエクスポートするだけで、毎回手動で追加する必要がない場合があります。次に、次のようになります。
export GIT_SSH_COMMAND='ssh -v'
git …
—man git示唆されているように、SSHを使用したGitの操作に影響を与える環境変数がいくつかあります。によると、オプションをman ssh展開するときにデバッグ情報を取得でき-vます(だけでなく、詳細については、マニュアルを確認してください)。
どのキーが使用されていますか?
出力では、次のようなsmthが表示されます…
debug1: Offering public key: …
…これがあなたのqnへの答えです。
set GIT_SSH_COMMAND=ssh -v。これは、ssh-config Inlcude-PathがWindowsで次のようになる必要があることを理解するのに役立ちました:Include /C/Users/YourUserName.ssh/configsshを作成し、したがってgitが構成ファイルを使用し、たとえばHOST *エントリを使用してgit / sshが使用するIDファイルを指定します。
                    gitはssh接続に使用するだけなのでssh、リモートホストへの接続に使用するキーを使用します。詳細については、~/.ssh/configファイルを参照してください。hostブロックは使用していますIdentityFile使用する秘密鍵を指定するには、ディレクティブを。ssh_config(5)manページには、完全な詳細が含まれています。
/etc/ssh_configコメントされたエントリでいっぱいのファイルのように見えるファイルが見つかりました
                    ~/.ssh/config自分で作成できます。
                    これはスーパーエッジかもしれませんが、実行ssh -vT git@github.comした後/root/.ssh、キーをチェックしていることがわかり、ホームディレクトリをチェックすることを期待していたので、rootとしてログインしていることに気付きました。
ssh尋問方法が正しい解決策です。ありがとう。