当前位置: 首页 > news >正文

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 的特殊设计造成的。``

http://www.gsyq.cn/news/95461.html

相关文章:

  • 从“识别猫”到诊断疾病:卷积神经网络如何改变我们的视觉世界
  • 23、智能家居网络搭建与通信指南
  • 26、通信:人类交流,计算机通信
  • 04_让浏览器新标签页“重生”——集颜值、效率与 AI 于一体的 WeTab 体验指南
  • 安装 conda 和 PyTorch
  • 41、树莓派硬件接口与软件应用全解析
  • 24、UNIX环境下的SAS数据集选项与格式详解
  • 25、UNIX环境下的SAS函数和CALL例程详解
  • KaniTTS:重塑实时对话交互体验的下一代文本转语音引擎
  • 开源视频生成领域新突破:Wan2.2模型凭借MoE架构实现效率与画质双重飞跃
  • 28、UNIX环境下的SAS系统选项详解
  • 45、深入了解VoIP与Asterisk系统
  • 55、网络信息服务 (NIS) 配置与使用指南
  • 65、Linux 系统管理与网络配置全解析
  • 深度解析:腾讯混元翻译模型家族新成员——Hunyuan-MT-Chimera-7B-fp8的技术突破与应用价值
  • 阿里巴巴达摩院开源Qwen2.5-VL-32B-Instruct:中小模型实现性能突围,重新定义多模态智能边界
  • DeepSeek-V3引爆推理网络变革:MoE架构下的低时延与高可用组网方案
  • 字节跳动发布Bamboo-Mixer:革新电解液配方设计的AI统一框架
  • 59、Linux打印与DHCP配置全解析
  • 百度AI Studio LLM API全解析:从开发入门到多模态应用实践
  • [CTF]攻防世界:easy_laravel 学习
  • 40、敏捷开发相关指标与实践解析
  • 书生Intern-S1震撼发布:开源多模态AI模型改写科学研究范式
  • DDNS动态域名解析方案对比与实战配置
  • Linux批量清理Webman进程
  • 个人博客作业 3
  • ComfyUI与社交平台头像生成结合:个性化IP打造工具
  • 当LCL逆变器遇上谐波:两个前馈策略的实战PK
  • 《家庭的觉醒》——写给天天跟电脑打交道的你
  • Qwen3-VL-4B-Thinking-FP8震撼发布:FP8量化技术引领多模态模型部署革命