news 2026/5/9 11:08:27

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/5/9 0:38:58

mysql的列为什么要设置not null default ‘‘?

1.如果不设置,那么会出现空字符串和null一起存在的现象 2.如果这个字段是索引,那么会为空字符串和null都存储在二级索引中 3.存储占用更多的二级索引空间,还需要考虑null值查询的特殊处理 4.没有空字符串等值查询效率高,如果设置n…

作者头像 李华
网站建设 2026/5/9 1:53:20

41、树莓派硬件接口与软件应用全解析

树莓派硬件接口与软件应用全解析 1. Gertboard编程 Gertboard编程与底层Arduino代码颇为相似,都是直接对内存映射的输入输出(IO)进行操作,这就要求具备汇编程序员的精细技能。以下是一段示例代码: PWMCLK_DIV = 0x5A000000 | (32<<12); PWMCLK_CNTL = 0x5A0000…

作者头像 李华
网站建设 2026/5/9 0:39:09

13、SAS 输出控制与共享库访问指南

SAS 输出控制与共享库访问指南 1. 过程输出选项 在 SAS 中,有一系列系统选项可用于控制过程输出的内容,以下是这些选项的详细介绍: | 选项 | 描述 | 默认设置 | | — | — | — | | SOURCE2 / NOSOURCE2 | 控制使用 %INCLUDE 语句包含的 SAS 语句是否写入日志。 | NOSO…

作者头像 李华
网站建设 2026/5/9 2:04:42

15、从SAS访问共享可执行库及远程浏览相关知识

从SAS访问共享可执行库及远程浏览相关知识 1. 从SAS访问共享可执行库示例 在SAS中访问共享可执行库有多种应用场景,下面通过具体示例进行说明。 1.1 更新字符串参数 该示例使用Solaris提供的共享库 libc.so 中的 tmpnam 例程,此库安装在 /usr/lib/sparcv9 目录下。…

作者头像 李华
网站建设 2026/5/9 0:39:57

17、SAS窗口环境操作指南

SAS窗口环境操作指南 1. 窗口与工具栏的打开和关闭 1.1 命令窗口 打开步骤 : 在“首选项”对话框的“工具箱”选项卡中,取消选择“合并窗口”。 完成以下任意步骤: 在“首选项”对话框的“工具箱”选项卡中选择“显示命令窗口”。 发出“COMMAND WINDOW”命令。 关闭…

作者头像 李华
网站建设 2026/5/9 2:24:51

22、深入解析UNIX环境下SAS窗口环境的定制

深入解析UNIX环境下SAS窗口环境的定制 1. 资源查找与对比度控制 SAS查找默认CPARMS资源的位置有两个: - 若现场SAS支持人员在SASHELP.BASE.SAS.CPARMS目录条目中输入了颜色和属性设置,那么这些设置将成为站点的默认设置。 - 若你将设置保存在SASUSER.PROFILE.SAS.CPARMS中…

作者头像 李华