web-dev-qa-db-ja.com

初めてGithubに接続できません

Gitを使用するのはこれが初めてで、ボックスに設定しようとしています。 GithubWebインターフェイスのプロファイルにキーを追加しました。接続しようとすると...:

max@linux-vwzy:~> ssh [email protected]
The authenticity of Host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is xx
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,207.97.227.239' (RSA) to the list of known hosts.
PTY allocation request failed on channel 0

max@linux-vwzy:~> ssh-add ~/.ssh/id_rsa
Identity added: /home/max/.ssh/id_rsa (/home/max/.ssh/id_rsa)

max@linux-vwzy:~> ssh [email protected]
PTY allocation request failed on channel 0

なんらかのウェルカムメッセージが届くはずですが、そうではありません。

3
n0pe

通常のターミナル環境でssh [email protected]を実行すると、SSHクライアント(ローカルマシン上のsshプロセス)が疑似ターミナルを要求します(pty)サーバーから。

GitHubは常にptyの割り当てを拒否してきました。

古いバージョン(5.6より前)のOpenSSHsshは、サーバーがpty割り当て要求を拒否した場合、no-ptyモードに「フォールバック」します。

OpenSSHのsshの新しいバージョン(5.6から5.8)は、サーバーがpty割り当て要求を拒否すると中止します。

OpenSSHsshの最新バージョン(5.9以降)は、pty割り当てが自動的に行われた場合、前者のアクション(続行)を実行し、後者のアクション(中止)ptyの明示的な要求があった場合(-tが指定されているかRequestTTYyes/forceに等しい)。

-Tオプションを使用して、ssh(古いまたは新しい)にpty割り当ての要求を回避するように指示できます。

ssh -T [email protected]

次に、GitHubメッセージが表示されます。

こんにちは<ユーザー名>!認証に成功しましたが、GitHubはシェルアクセスを提供していません。


OpenSSH5.6リリース発表 から:

  • Pty割り当て要求が失敗したときにチャネルを強制終了します。サーバーがpty割り当てを拒否した場合のスタッククライアントを修正しました(bz#1698)

bz#1698「PortableOpenSSH」Bugzillaに記録されたレポート への参照のようです。


OpenSSH clientloop.c rev 1.234 のチェックインメッセージから:

tTY割り当てが失敗したときの動作を改善します。RequestTTY= autoモード(デフォルト)の場合、TTY割り当てエラーを致命的なものとして扱わず、ローカルTTYをクックモードに復元して続行します。これは、TTYを割り当てないデバイスではより適切です。

RequestTTYが「yes」または「force」に設定されている場合、TTYの割り当てに失敗すると致命的です。

8
Chris Johnsen