github登陆入口

打开浏览器,登陆地址栏敲下 github.com,入口回车。登陆这个动作我每天至少重复三次。入口但很多人不知道,登陆GitHub 的入口登录入口其实不止一个——dotcom 主站、企业版独立域名、登陆以及被微软收购后悄悄改版的入口 OAuth 授权页,每个入口背后对应着完全不同的登陆账户体系。

先说最常用的入口那个。github.com/login 是登陆标准登录页,输入用户名或邮箱,入口再填密码。登陆如果你开了两步验证,入口会跳到 /sessions/two-factor 页面。登陆这个页面有个细节:验证码输入框在移动端会自动调起数字键盘,但如果你用的是 YubiKey 这类硬件密钥,得先点一下“Use a security key”的折叠链接,否则默认只显示 TOTP 输入框。我见过不止一个同事在这里卡住,以为密钥坏了。

企业版是另一回事。假设你们公司买了 GitHub Enterprise Server,登录地址通常是 github.yourcompany.com。这个页面长得跟主站几乎一样,但左上角的 logo 会换成公司自己的。更关键的是,这里没有“Create an account”按钮——账户由管理员在后台创建,普通员工只能通过 SSO 跳转。有些公司还会把入口藏在内部 Wiki 里,直接访问域名反而会报 404。

OAuth 授权页是第三个入口,也是最容易被忽略的。当你用 GitHub 账号登录第三方服务时,会先跳到 github.com/login/oauth/authorize?client_id=xxx。这个页面会显示第三方应用请求的权限范围,比如“读取你的公开仓库信息”。很多人看都不看直接点 Authorize,结果某天发现自己的私有仓库被一个不知名 CI 工具扫描了。我个人的习惯是:看到请求 repo 权限的,先查一下这个 client_id 对应的应用是不是官方认证的。

手机端也有坑。GitHub 官方 App 的登录入口在首页右上角头像位置,但如果你之前用浏览器登录过,App 会尝试用系统 Safari 的 cookie 自动登录。这导致一个常见问题:在 App 里退出登录后,Safari 的会话还在,下次打开 App 又自动登进去了。想彻底退出,得去手机设置里清除 Safari 的网站数据。

还有一个冷门入口:github.com/settings/connections/applications。这不是登录页,但如果你怀疑账号被陌生应用授权了,从这里能直接撤销。我上个月帮一个朋友排查,发现他三年前授权过一个已经停止维护的代码格式化工具,那个工具还在用他的 token 拉取私有仓库。撤销之后,他收到一封 GitHub 的邮件通知,说“一个个人访问令牌被删除”——这种邮件值得看一眼。

命令行登录又是另一套逻辑。用 gh auth login 时,CLI 会先问你要不要用浏览器登录。选“是”的话,它会打开一个本地端口监听,然后跳转到 github.com/login/device,显示一个八位验证码。这个流程跟网页登录完全隔离,生成的 token 存在 ~/.config/gh/hosts.yml 里。有一次我在服务器上操作,没有图形界面,只能选“粘贴 token”模式——那个 token 需要提前在网页端生成,而且默认权限是 repo 全读写,风险不小。

总结一下?不总结。你只需要记住:下次登录 GitHub 时,先看清楚自己进的是哪个入口。dotcom、企业版、OAuth 授权页,三者的安全边界和账户体系完全不同。输错密码顶多被锁几分钟,点错授权按钮可能丢的是整个私有仓库。