首次无法连接 Github

首次无法连接 Github

这是我第一次使用 Git,我正在尝试在我的机器上进行设置。我在 Github 网络界面中将我的密钥添加到我的个人资料中。当我尝试连接时...:

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

我本应收到某种欢迎信息然而我却没有收到。

答案1

当你在正常的终端环境中运行时,你的 SSH 客户端(ssh [email protected]远程控制本地计算机上的进程)将向服务器请求伪终端 (pty)。

GitHub 一直拒绝 pty 分配。

OpenSSH 的旧版本(5.6 之前)远程控制如果服务器拒绝其 pty 分配请求,将“回退”到无 pty 模式。

OpenSSH 的较新版本(5.6 至 5.8)远程控制如果服务器拒绝其 pty 分配请求,则中止。

OpenSSH 的最新版本(5.9 及更高版本)远程控制如果 pty 分配是自动完成的,则将采取前一种操作(继续),如果有对 pty 的明确请求(-t给定或RequestTTY等于yes/ force),则将采取后一种操作(中止)。

你可以告诉远程控制(旧的或新的)以避免使用以下选项请求 pty 分配-T

ssh -T [email protected]

然后你应该会看到 GitHub 消息:

您好,<用户名>!您已成功验证,但 GitHub 不提供 shell 访问权限。


来自OpenSSH 5.6 发布公告

  • 当 pty 分配请求失败时终止通道。修复了服务器拒绝 pty 分配时客户端卡住的问题 (bz#1698)

bz#1698似乎是指报告记录在“便携式 OpenSSH” Bugzilla 中


来自OpenSSH clientloop.c 修订版 1.234

改进 TTY 分配失败时的行为:如果我们处于 RequestTTY=auto 模式(默认),则不要将 TTY 分配错误视为致命错误,而只是将本地 TTY 恢复为熟模式并继续。这对于从不分配 TTY 的设备来说更为优雅。

如果将 RequestTTY 设置为“yes”或“force”,那么分配 TTY 失败将是致命的。

相关内容