2026/6/11 17:11:19
网站建设
项目流程
深圳做网站个人,做网站的 书籍,购物商城网站开发,安徽安庆旅游必去十大景点“ 判断 GitHub SSH 成功与否#xff0c;永远不要看 ssh 的退出码#xff0c;而要看输出内容” #xff0c;
这句话基本正确#xff0c;尤其是针对 GitHub 推荐的 SSH 测试命令 ssh -T gitgithub.com。
GitHub 官方文档明确指出#xff1a;成功认证后#xff0c;该命令会…“ 判断 GitHub SSH 成功与否永远不要看 ssh 的退出码而要看输出内容” 这句话基本正确尤其是针对 GitHub 推荐的 SSH 测试命令ssh -T gitgithub.com。GitHub 官方文档明确指出成功认证后该命令会输出类似“Hi username! You’ve successfully authenticated, but GitHub does not provide shell access.”的消息同时退出码exit code为 1而非传统的 0 表示成功。这是因为 GitHub 故意拒绝提供 shell 访问它打印欢迎消息后立即退出导致退出码为 1。如果认证失败如密钥不对、未添加等通常退出码为 255并输出 “Permission denied (publickey)” 等错误。因此单纯检查退出码是否为 0 会误判成功时是 1看起来像“失败”。实际判断建议优先看输出内容看到 “You’ve successfully authenticated” 就表示 SSH 密钥认证成功。如果想在脚本中自动化检查退出码可以这样处理常见做法成功退出码 1失败退出码 255或其他非 1 的值示例 Bash 函数来自社区常见实现ssh-T gitgithub.com/dev/null21if[$?-eq1];thenechoSSH 认证成功elseechoSSH 认证失败fi总之这句话的“永远不要看 ssh 的退出码”有点绝对脚本中还是要看的但要看具体值但核心意思是对的别指望退出码 0 表示成功主要靠输出内容确认。这也是 GitHub 的特殊设计造成的。