0

My~/.sshには 2 つのキーペアが含まれています。

  • id_rsa_foo&id_rsa_foo.pub
    • foousernameGitHubのユーザー向け( github.com)
  • id_rsa_bar&id_rsa_bar.pub
    • barusernameGitHubのユーザー向け( github.com)
    • barusername私のサーバーのユーザー( indefero.myserver.com)

キーファイルを「~/.ssh/config知っている」:

#github.com-foousername account
Host github.com-foousername
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_foo

#github.com-barusername account
Host github.com-barusername
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_bar

#indefero.myserver.com-foousername account
Host indefero.myserver.com-foousername
    HostName indefero.myserver.com
    User foousername
    IdentityFile ~/.ssh/id_rsa_bar

~/.ssh/known_hostsサーバーを「認識」しています。

github.com,207.97.227.239 ssh-rsa AAAAB3N...AaQ==
204.232.175.90 ssh-rsa AAAAB3N...AaQ==
indefero.myserver.com,111.222.333.444 ssh-rsa AAAAB3N...Ytw==

GitHub からクローンを作成しようとすると、エラーが発生します。Permission denied (publickey). fatal: The remote end hung up unexpectedly

user@machine ~/Desktop/test
$ git clone git@github.com:foousername/project1.git
Cloning into 'foousername'...
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

しかし、最初にローカル マシンにリポジトリを作成し、ローカル/プロジェクトをセットアップすると、次のようになりますconfig

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git@github.com-foousername:foousername/project1.git

できますpull/ push. (この方法は GitHub リポジトリで機能します。myserver ropos はそうも望まず、パスワードが必要です: indefero@indefero.it-and-t.com's password:。しかし、別の問題になる可能性があります。)

リポジトリを複製するために、この動作を変更するにはどうすればよいですか?

4

1 に答える 1

1

正しく設定しましたが、コマンド~/.ssh/configで正しいホストを使用していません。git clone構成ファイルで設定したホスト名を使用して、対応するキーを使用します。

# Use your default key
git clone git@github.com:foousername/project1.git

# Use the ~/.ssh/id_rsa_foo key
git clone git@github.com-foousername:foousername/project1.git

# Use the ~/.ssh/id_rsa_bar key
git clone git@github.com-barusername:barusername/project1.git
于 2013-04-15T11:11:35.070 に答える