GitHub Actions突发无SSH密钥或密码无法连接问题咨询
解决方案
1. 锁定Action版本,避免分支更新兼容性问题
你当前使用的appleboy/scp-action@master和appleboy/ssh-action@master是动态指向主分支的版本,Action作者的代码更新可能导致参数逻辑变化。建议固定到稳定版,例如:
- 将
appleboy/scp-action@master替换为appleboy/scp-action@v0.1.4 - 将
appleboy/ssh-action@master替换为appleboy/ssh-action@v0.1.5
2. 修正参数大小写错误
在Executing remote command步骤中,USERNAME为大写,而该Action的官方参数要求是小写username,大小写不匹配会导致密钥参数无法被正确读取。修改后的代码片段:
- name: Executing remote command uses: appleboy/ssh-action@v0.1.5 with: host: ${{ secrets.HOST }} username: ${{ secrets.USERNAME }} port: ${{ secrets.PORT }} key: ${{ secrets.SSHKEY }} command_timeout: 10m script: cd dev-folder; mvn package install
3. 验证SSH密钥配置完整性
- 检查GitHub仓库的
SSHKEY机密:确保私钥完整包含-----BEGIN RSA PRIVATE KEY-----、-----END RSA PRIVATE KEY-----及中间所有内容,无多余空格或换行缺失。 - 确认目标服务器的
~/.ssh/authorized_keys文件中仍存在对应公钥,且文件权限为600,.ssh目录权限为700。
4. 排查服务器与GitHub网络/政策适配
- 临时关闭目标服务器防火墙,测试是否因IP拦截导致连接失败。
- 若使用RSA密钥,检查是否采用了SHA-1加密算法(该算法已逐渐被废弃),建议替换为ED25519密钥重新配置。
内容的提问来源于stack exchange,提问作者Nail Khaled Beneloualid
相关产品推荐
相关产品推荐

