4

というわけで、今はgithubの「jononomo」です。でも一年前は「ぞのも」でした。しばらくソフトウェアをやめ、その間に新しいラップトップを購入しました。それから私は戻ってきて、ハンドル「jononomo」の下で Github に新しいアカウントを作成しました。今、2 台のラップトップ間でドットファイルを同期しようとしています。新しいラップトップから git リポジトリを作成し、それを github にプッシュして、「jononomo」アカウントで表示できるようにしました。次に、古いラップトップに移動して、このリポジトリのクローンを作成しました。すべてが期待どおりに機能しました。

次に、古いラップトップのドットファイルにいくつかの変更を加えました。これらの変更を github にプッシュして、新しいラップトップにプルダウンできるようにします。問題は、コマンドを実行すると次のようになることです。

git push origin master

エラーメッセージが表示されます:

ERROR: Permission to jononomo/.dotfiles.git denied to zononomo.

~/.ssh/id_rsa私が最初にしたことは、古い SSH キーをとで吹き飛ばすことでした~/.ssh/id_rsa.pub。次に、新しい SSH キーを生成し、新しい公開キーを jononomo github アカウントに追加しました。しかし、それは問題を解決しませんでした。コマンドを実行すると:

ssh -T git@github.com

私は応答を取得します:

Hi zononomo! You've successfully authenticated, but GitHub does not provide shell access.

次に、ここにある解決策に従いました: https://stackoverflow.com/a/8152291/1701170 この人は~/.ssh/config、次の内容のファイルを作成することを提案しました:

Host github-jononomo
    User git
    Hostname github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_dsa.pub

そして、彼は私がコマンドを実行することを提案しました:

git remote set-url origin git@github-jononomo:jononomo/.dotfiles.git

私はそれを試しましたが、私の問題は解決しませんでした。私はまだメッセージを受け取っています:

ERROR: Permission to jononomo/.dotfiles.git denied to zononomo.

ちなみに、my.gitconfigには以下の内容があります。

[user]
    name = Jon Crowell
    email = me@myemail.com
[github]
    user = jononomo
    token = 2a18a7235746324aefec34b234aa343a
    email = me@myemail.com
[credential]
    helper = osxkeychain
4

2 に答える 2

3

次の手順を実行して動作するようにしました。

まず、私の~/.ssh/configファイルは次のとおりです。

Host github-jononomo
    HostName github.com
    User git
    IdentityFile  ~/.ssh/id_rsa
    IdentitiesOnly yes

次に、コマンドを実行しましたgit remote set-url origin git@github-jononomo:jononomo/.dotfiles.git

3番目に、コマンドを実行しssh -T git@github.comて結果を取得しましたHi jononomo! You've successfully authenticated, but GitHub does not provide shell access.

4 番目に、古い github アカウントにログインし、SSH キーを削除して、アカウントを完全に削除しました。

VonCに感謝します。

于 2012-10-26T19:26:37.237 に答える
2

ぞのも?GitHub はあなたをゾノノモとして認識しなくなりました。
古いキーを配信する ssh エージェントを持っている可能性がありますか?

「ターミナルで Github アカウントの切り替えに問題がある」で提案されているように、次の行を追加します。

 IdentitiesOnly yes

設定ファイルに追加して、GitHub がまだその古い ID を使用しているかどうかを確認してください。

しかし、私はまだ取得しています

 ssh: Could not resolve hostname github: nodename nor servname provided, or not known error

解決する" "は、構成ファイルのエントリとhostname一致する必要があります。Host

そのHostエントリが github-jononomo の場合は、ssh アドレスでも使用する必要があります。

git remote set-url origin github-jononomo:jononomo/.dotfiles.git
于 2012-10-26T18:31:49.397 に答える