128

ディレクトリ.sshに 30 個の鍵 (15 個の秘密鍵と 15 個の公開鍵) が含まれているとします。

Git のどこで、特定のリモート リポジトリへの接続に使用されているかを確認できますか?

4

7 に答える 7

87

ファイル内の次のエントリ.ssh/configは問題を解決します

  host git.assembla.com
  user git
  identityfile ~/.ssh/whatever

~/.ssh/whatever秘密鍵へのパスはどこにありますか

さらに、ユーザーとホストはからピックアップすることができます

git push git@git.assembla.com:repo_name.git
         ^__ ^_______________
         user host
于 2012-06-19T02:20:42.950 に答える
83

詳細モード (別名 ) で ssh を実行ssh -v user@hostすると、膨大な量のデバッグ情報が出力されます。これには、ログインしようとしているキーファイルの詳細も含まれます。

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 自身のSSH ヘルプ ページのステップ 4 と組み合わせるとssh -vT git@github.com、答えが得られます。

注:-iスイッチを使用して、コマンドの実行中にどのキーファイルを使用するかを ssh に伝えることもできます。

于 2014-05-19T05:59:15.543 に答える
17

で指定しない限り.ssh/config、デフォルトの秘密鍵ファイルが使用されます。

デフォルトのファイルは、プロトコルのバージョンに応じて~/.ssh/id_rsaor~/.ssh/id_dsaです。~/.ssh/identity

于 2012-06-19T02:00:46.713 に答える
12

これは非常にエッジが高いかもしれませんが、実行した後、キーssh -vT git@github.comをチェックしていることが示されまし/root/.sshた。ホームディレクトリをチェックすることを期待していたのですが、ルートとしてログインしていることに気付きました!

于 2018-11-01T15:13:11.883 に答える
7

gitを使用して接続するだけなので、リモート ホストへの接続に使用するsshキーを使用します。ssh詳細については、~/.ssh/configファイルを参照してください。hostブロックはディレクティブを使用して、使用IdentityFileする秘密鍵を指定します。ssh_config(5)マンページには完全な詳細が含まれています。

于 2012-06-19T01:51:00.787 に答える
1

リモート サーバーで、sshd_config ファイルを編集し、LogLevel を INFO から VERBOSE に変更して、ssh を再起動します。

これで、ログ ファイルには、各ユーザーの認証に使用されたキーのフィンガープリントが保持されます。

Ubuntu では、これらのファイルは次のとおりです。

/etc/ssh/sshd_config
/var/log/auth.log

ただし、別のディストリビューションでは異なる場合があります。それらの場所をグーグルで検索するだけです(たとえば、 /var/log/secure を使用するものもあります)。

于 2012-06-19T16:13:47.417 に答える