news 2026/7/15 1:05:17

bash判断ssh -Tgit@GitHub是否成功,不要看 ssh 的退出码,而要看输出内容

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
bash判断ssh -Tgit@GitHub是否成功,不要看 ssh 的退出码,而要看输出内容

“ 判断 GitHub SSH 成功与否,永远不要看 ssh 的退出码,而要看输出内容” ,
这句话基本正确,尤其是针对 GitHub 推荐的 SSH 测试命令ssh -T git@github.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 git@github.com>/dev/null2>&1if[$?-eq1];thenecho"SSH 认证成功"elseecho"SSH 认证失败"fi

总之,这句话的“永远不要看 ssh 的退出码”有点绝对(脚本中还是要看的,但要看具体值),但核心意思是对的:别指望退出码 0 表示成功,主要靠输出内容确认。这也是 GitHub 的特殊设计造成的。``

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/14 22:54:23

17、媒体系统:集成电视和高保真音响

媒体系统:集成电视和高保真音响 1. 服务器配置 配置服务器需要编辑基本配置文件,以指定端口、媒体文件的适当位置和日志文件。以 minidlna 服务器为例,配置文件为 minidlna.conf ,应按如下方式开始修改: # port for HTTP (descriptions, SOAP, media transfer) tr…

作者头像 李华
网站建设 2026/7/14 3:34:37

24、计算机通信:邮件与语音控制的实现与安全

计算机通信:邮件与语音控制的实现与安全 1. 邮件通信基础 在计算机通信中,邮件是一种常见的数据传输方式。可以使用如下命令发送简单邮件: xmitemail "Hello" "steev@workaddress.com" "I bet you didnt think this would work!"这个命令可…

作者头像 李华
网站建设 2026/7/14 19:13:09

29、智能家居的数据来源

智能家居的数据来源 在智能家居的构建中,数据来源至关重要。通过合理利用各种数据,我们可以让家居生活更加便捷、智能。本文将详细介绍一些常见的数据获取方式以及相关的数据来源。 API 数据获取 API(应用程序编程接口)是程序员与操作系统进行交互的方式。在网络世界中,…

作者头像 李华
网站建设 2026/7/14 23:03:26

32、智能家居:数据处理、错误处理与控制中心集成

智能家居:数据处理、错误处理与控制中心集成 1. 智能家居数据处理与错误处理 1.1 智能家居数据处理阶段 智能家居的数据处理主要分为两个阶段: - 数据收集 :通常通过屏幕抓取、RSS 订阅或 API 访问等方式,将远程数据复制到本地机器。例如,火车出发时间可以按需请求获…

作者头像 李华
网站建设 2026/7/14 13:48:53

12、SAS 在 UNIX 环境下的输出打印与路由指南

SAS 在 UNIX 环境下的输出打印与路由指南 1. SAS 日志设施消息路由至 SYSLOGD SAS 9.2 日志设施可对日志事件消息进行分类和收集,然后将其写入各种输出设备。该日志设施有助于问题诊断与解决、性能和容量管理以及审计和法规遵从性。它具备以下特性: - 分层命名系统 :通…

作者头像 李华
网站建设 2026/7/14 18:41:11

DreamAquarium v2.083:梦幻水族馆屏保

DreamAquarium v2.083 是一款人气颇高的电脑屏保工具,以极致真实感还原淡水水族箱场景,鱼类游动、生物互动及光影特效栩栩如生。它支持自定义设置与多设备适配,无需复杂操作就能为电脑桌面带来身临其境的视觉享受,成为众多用户喜爱…

作者头像 李华