7

私は3時間以上前から、githubの複数のアカウントを設定しようとしていますが、かなり疲れています。私はここで説明するほとんどすべての可能な方法、githubと記事を試しましたが、どれも機能しませんでした。私はgithubとUnixの初心者でもあります。だからこれを修正するためにあなたの助けが必要です。ここで私がしていることの下に

私はWindows7を使用しており、2つの異なるアカウントに2つのsshキーを設定しました。

  1. id_rsa
  2. id_rsa_ac2

ユーザーのディレクトリに設定ファイルを作成し.ssh、以下のコードを追加するより

#Account one
Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile /c/Projects/.ssh/id_rsa

#Account two
Host ac2.github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile /c/Projects/.ssh/id_rsa_ac2

今、私は以下のコードを使用してリモートを追加しようとしています

git remote add origin git@ac2.github.com:myaccount/my.git

次のコードでプッシュします

git push origin master

しかし、私がプッシュしようとすると、エラーが発生します: Error: Permission to myaccount/my.git denied to {account}. // where it is considering default user account and not for ac2 user account fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists.

どうもありがとう..

追加情報:

私はテストし、id_rsa_ac2正常に認証されたメッセージを出しました。ac2しかし、奇妙なことは、アカウントのユーザー名ではなく、元のアカウントのユーザー名を与えることです

Hi {username!} You've successfully authenticated, but GitHub does not provide shell access. //here user id should be from ac2 but it is showing userid from id_rsa and not from id_rsa_ac2

情報:最終コード

@VonCの答えはうまくいき、誰かが使いたいのであれば、私の答えとして最終的なコードを追加しました。

4

4 に答える 4

4

だからここで@VonCの答えによると私がしたこと。

  1. 別のアカウント用にsshキーを生成し、id_rsa_ac2(ac2は2番目のアカウント用)を追加しました
  2. クロスチェックするよりも、ssh -T ac2.github.com
  3. /c/Users/yourname/.ssh/ディレクトリに(拡張なしで)構成ファイルを作成しました

これが私が設定ファイルに使用したコードです

#Account one
Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile /c/Users/yourname/.ssh/id_rsa
    User git

#Account two
Host ac2.github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile /c/Users/yourname/.ssh/id_rsa_ac2
    User git

したがって、これを実行すると、必要に応じて両方のアカウントの使用を開始できます。

git remote add origin git@github/youraccount/rep.git メインアカウントの場合、プッシュ使用よりもオリジンとしてリモートを追加しましgit push origin masterた。これにより、最初のアカウントにアップロードされます。

使用する2番目の(ac2)アカウントにリモートを追加するにはgit remote add ac2 ac2.github/yoursecondaccount/rep.git 、プッシュするよりもgit push ac2 master2番目の(ac2)アカウントにアップロードします。

それがリモート使用を追加したかどうかを確認し、originが追加されたリモートである場所git remote -vを使用する以外の誰かを削除したい場合に備えて。git remote rm origin

この情報が同じ問題を抱えている他の人に役立つことを願っています。

@VonCに改めて感謝します

于 2012-11-26T15:21:03.527 に答える
2

設定を考慮に入れるにHostは、リモート アドレスでその名前を使用する必要があります。

git remote add origin ac2.github.com:myaccount/my

HOME環境変数 (Windows ではデフォルトで定義されていませんが、msysgitgit-cmd.batを使用している場合は定義されています) を .ssh ディレクトリが存在するディレクトリに、そのid_rsa_ac2秘密鍵とid_rsa_ac2.pub公開鍵とともに定義している場合は、それが動作します。

于 2012-11-25T18:28:10.260 に答える