前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Github Action执行时遇到SSH key invalid format错误

Github Action执行时遇到SSH key invalid format错误

作者头像
凡梦星尘
发布2024-11-20 17:30:56
发布2024-11-20 17:30:56
1030
举报
文章被收录于专栏:Hugo博客Hugo博客

Github Action是款非常不错的CI/CD工具,自从它问世以来发展的速度真可谓是快,在 Github 的官方市场中几乎能找到所有你想要使用的Action脚本进行引用。本博客也是基于Github Action进行远程部署的,与常规的Github Pages服务不同,本站的静态文件是部署在国内某云厂商的静态服务器上面的,通过 tzzs/server-shell Action 集成,实现远程执行服务端的命令,来拉取最新生成的静态文件。

具体的Github Action脚本用法参考如下:

1 2 3 4 5 6 7 8 9 10 11

deploy-cloud: runs-on: ubuntu-latest steps: - name: Deploy Remote Cloud uses: tzzs/server-shell@v3 with: IP: ${{ secrets.REMOTE_HOST }} USERNAME: ${{ secrets.REMOTE_USER }} PRIVATE_KEY: ${{ secrets.REMOTE_PRIVATE_KEY }} SHELL: "sh /home/develop/myblog-deploy.sh"

这看上去也没有任何的问题,将代码推送到Github仓库也能正常运行。但诡异的事情在大概运行 1 周时间后便出现。在没有调整过 Action 脚本及 SSH 私钥的情况下,上面的部署步骤竟然执行失败,报出如下的错误信息:

1 2 3 4 5 6 7

/usr/bin/ssh server sh /home/***/myblog-deploy.sh Warning: Permanently added '***' (ECDSA) to the list of known hosts. Load key "/home/runner/.ssh/deploy.key": invalid format Permission denied, please try again. Permission denied, please try again. ***@***: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). Error: Error: The process '/usr/bin/ssh' failed with exit code 255

持着怀疑的态度再次检查了下最新仓库代码,确定只是发布了新文章并没调整过配置文件。然后又直接执行ssh -i命令测试了下 SSH 私钥,也是能正常的连接远程服务,这就有点纳闷的啦,到底是哪里出问题呢?

经过一番网络大战(借助搜索引擎查找资料)后,发现有人提到说检查下 SSH 私钥的类型是否为 RSA 格式,打开的本地生成的id_rsa文件查看内容,果然不是RAS类型,参考如下:

1 2 3

-----BEGIN OPENSSH PRIVATE KEY----- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -----END OPENSSH PRIVATE KEY-----

大概是早期生成SSH key没有留意直接使用了默认规则,然后使用如下的命令对私钥进行转换:

1

ssh-keygen -m PEM -t rsa -f ~/.ssh/id_rsa

将新生成的私钥进行重新分发,再重新re-load失败的 Action, 果然任务就能正常执行成功。

问题到此是解决了,不过对其的产生还是有些困惑,之前为何就没有这样的情况出现?又仔细过了一遍远程部署的脚本代码,发现执行时需要指定服务器操作系统版本 runs-on: ubuntu-latest ,而这里写的是使用最新版本,估计问题就是在此产生的,猜测可能是最新版本服务器操作系统的OPENSSH是版本较高不兼容所导致的,但没有做进一步的验证。

总结一点,就是生成SSH私钥时还是尽量按照服务方的要求进行操作,如果没有,那么建议还是使用PEM格式的RSA类型较为通用,能够避免未知的风险。 😄

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档