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

GitHub Actions SSH握手失败:本地可连接但CI认证失败求助

SSH认证失败排查(GitHub Actions + Plesk环境)

问题背景

本地通过ssh -i ~/.ssh/directus-key user@ip可正常登录服务器,但GitHub Actions使用appleboy/ssh-action执行部署时,出现以下认证失败错误:

2025/04/06 10:26:54 ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain

已尝试重新生成SSH密钥对、更换服务器用户、切换runs-on环境,均未解决问题。服务器使用Plesk管理,配置了域名独立用户。


排查与解决步骤

1. 强制修正服务器端.ssh目录及文件权限

SSH对权限要求严格,错误的权限会直接导致公钥认证失败。执行以下命令(替换your-plesk-user为实际域名用户):

chown -R your-plesk-user:your-plesk-user /var/www/vhosts/example.com/.ssh
chmod 700 /var/www/vhosts/example.com/.ssh
chmod 600 /var/www/vhosts/example.com/.ssh/authorized_keys

2. 验证GitHub Secrets中私钥的格式完整性

确保SSH_PRIVATE_KEY完整包含:

  • 开头的-----BEGIN RSA PRIVATE KEY-----
  • 结尾的-----END RSA PRIVATE KEY-----
  • 所有换行符未丢失

粘贴私钥到GitHub Secrets时,直接复制本地私钥文件的完整内容,不要手动修改格式或删除换行。

3. 检查服务器sshd_config配置

编辑/etc/ssh/sshd_config,确认以下配置:

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
# 如果配置了AllowUsers,确保包含你的Plesk域名用户
# AllowUsers your-plesk-user other-users

修改后重启sshd服务:

systemctl restart sshd

4. 查看服务器认证日志定位具体原因

查看服务器的认证日志,获取更详细的失败信息:

  • Debian/Ubuntu:tail -f /var/log/auth.log
  • CentOS/RHEL:tail -f /var/log/secure

日志中会明确提示失败原因,比如密钥格式错误、权限不足、用户未被允许等。

5. 调整GitHub Actions的ssh-action参数

移除脚本中打印私钥的代码(避免格式干扰),若私钥设置了密码,需添加passphrase参数:

- name: Deploy to Server via SSH
  uses: appleboy/ssh-action@v1.0.3
  with:
    debug: true
    host: ${{ secrets.SERVER_HOST }}
    username: ${{ secrets.SERVER_USER }}
    key: ${{ secrets.SSH_PRIVATE_KEY }}
    # 若私钥有密码,取消注释下面一行
    # passphrase: ${{ secrets.SSH_PASSPHRASE }}
    script: |
      whoami
      hostname -I
      cd /var/www/vhosts/example.com/directus.example.com
      git pull
      docker compose up -d

6. 确认Plesk用户的Home目录路径

本地登录服务器后执行echo $HOME,确认Plesk用户的实际Home目录,确保authorized_keys放在了该目录下的.ssh文件夹中(部分Plesk环境下用户Home目录可能不是/var/www/vhosts/example.com)。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 13:55:13