47

GitHub の ssh キーを作成する頭を包むことがわかりません。かなり前に動作していましたが、何が変わったのかわかりません。それ以来、GitHub アカウントから以前の SSH キーを削除しました。SSH キー ( http://help.github.com/mac-key-setup ) を生成し、「ssh git@github.com」をテストするための手順を数回実行した後、次の結果が得られました。

PTY 割り当て要求がチャネル 0 で失敗しました エラー: こんにちは...認証に成功しました...GitHub がシェル アクセスを提供していません...github.com への接続が閉じられました。

トラブルシューティング ガイドを確認したところ、ssh ディレクトリに構成ファイルがないことに気付きました。それを作成した後、IdentityFile 行にローカル パスを何またはどのように入力すればよいかわかりません。私の場合、これが必要かどうかさえわかりませんか?

github 認証情報がマシン アカウント情報と異なる場合は、ssh 構成ファイルを変更する必要があります。

~/.ssh/config でファイルを作成するか開きます。次の行を追加します。

Host github.com
    User git
    Hostname github.com
    PreferredAuthentications publickey
    IdentityFile [local path to private key half of github public key you provided]

.ssh フォルダーとその内容のアクセス許可を更新する必要がある場合もあります。SSH アプリケーションは、許容度が高すぎるシークレット ファイルを無視します。

$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/*

ssh -v git@github.com も実行しました。その結果はhttp://gist.github.com/607283で見ることができます。

私が間違っていることは何か分かりますか?

4

1 に答える 1

39

質問へのコメントで説明されているように、「PTY割り当て要求が失敗しました」は、GitHub認証に関して赤いニシンです(提供するSSHサービスが非対話型Git-のみである場合にGitHubに対話的にログインしようとした結果です。 over-SSH;認証は機能しており、インタラクティブな「シェル」サービスを提供していません)。


質問をした人はコメントでこれを書きました:

関連する問題は、新しいリポジトリを作成して「git push origin master」を実行しようとすると、次の「エラー:myemail@address.com/myappへのアクセスがmyusernameに拒否されました。致命的:リモートエンドが予期せずハングアップした」ということです。 「」

これが実際の問題である可能性が高いようです。originこれは、GitHubリポジトリを正しく指すように指定されたリモートが構成されていないことを示しているようです。

の出力を確認してくださいgit remote show -n origin。おそらく「フェッチURL」と「プッシュURL」は同じです。どちらも次のようになります。

git@github.com:git-user-name/repository-name

WebでGitHubにログインするときは、アカウントのユーザー名または関連する電子メールアドレスのいずれかを使用できます。リポジトリにプッシュする(またはプライベートリポジトリからフェッチする)ときは、実際のユーザー名を使用する必要があります(電子メールアドレスは機能しません)。GitHubのユーザー名だけでなく、メールアドレスを使用しているようです。これを修正するには、リモートのURLを再構成します。

git remote set-url origin git@github.com:github-username/repository-name

ログインすると、ユーザー名はGitHub Webページの多くの場所に表示されます。ユーザー名を見つける最も簡単な場所は、Gravatarとページヘッダーの[ダッシュボード]リンクの間です(ユーザー名がない場合は、シルエットアイコンが表示されます)。構成されたGravatar)。その同じ場所があなたの公開プロフィールページにリンクしています。このページのURLもユーザー名で終わる必要があります。

于 2010-10-02T19:26:48.337 に答える