web-dev-qa-db-ja.com

「チャネル0でPTY割り当て要求が失敗しました」についての対処方法

GitHubのsshキーを作成して頭を包むのが見えません。しばらく前から機能していましたが、何が変わったのかわかりません。それ以来、以前のSSHキーをGitHubアカウントから削除しました。 SSHキーを生成するための指示( http://help.github.com/mac-key-setup )を数回実行し、「ssh [email protected]」をテストすると、次の結果が得られます。

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 [email protected]を実行しました。その結果はここで見ることができます http://Gist.github.com/60728 私が伝えることができるものと何も変わりません。

私が間違っていることを知っていますか?

42
Shawn

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


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

関連する問題は、新しいリポジトリと「git Push Origin master」を作成しようとすると、次の「エラー:[email protected]/myappへのアクセス許可がmyusernameに拒否されました。致命的:リモートエンドが予期せずハングアップした」 」

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

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

[email protected]:git-user-name/repository-name

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

git remote set-url Origin [email protected]:github-username/repository-name

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

37
Chris Johnsen