You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Github Actions中appleboy/ssh-action连接Ubuntu提示SSH密钥未找到

问题原因及解决办法

核心问题:密钥格式不兼容

你用PuttyGen生成的默认是PPK格式私钥,而appleboy/ssh-action依赖的OpenSSH库只能解析OpenSSH标准的PEM格式私钥,这就是报错ssh.ParsePrivateKey: ssh: no key found的根本原因。

解决步骤

1. 转换私钥为OpenSSH格式

打开PuttyGen,按以下操作:

  • 加载你之前生成的PPK私钥文件
  • 点击顶部菜单栏的「Conversions」→「Export OpenSSH key」
  • 导出时如果不需要密码保护,直接点击保存;如果要设置密码,记得后续在Action里添加密码参数
  • 把导出的这个私钥的完整内容复制到Github Secrets的SSH_KEY中

2. 验证密钥格式

导出的私钥开头应该是类似这样的:

-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAz...
...
-----END RSA PRIVATE KEY-----

确保复制到Secrets时没有遗漏开头、结尾的标记,也没有多余的换行或空格。

3. 可选:如果私钥有密码保护

如果导出时设置了私钥密码,需要在Action配置里加上passphrase参数:

name: Deploy project on Ubuntu
uses: appleboy/ssh-action@v1.0.3
with:
  host: ${{secrets.SSH_HOST}}
  port: ${{secrets.SSH_PORT}}
  username: ${{secrets.SSH_USERNAME}}
  key: ${{secrets.SSH_KEY}}
  passphrase: ${{secrets.SSH_PASSPHRASE}} # 新增密码参数

4. 额外检查

确认Ubuntu服务器上~/.ssh/authorized_keys里的公钥是OpenSSH格式(PuttyGen里可以直接复制公钥,格式是ssh-rsa AAAAB3NzaC1yc2E...开头),确保公钥没有格式错误。

内容的提问来源于stack exchange,提问作者Krunal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 16:03:29