我正在使用 Github 操作处理 CICD 流程,并在 Ubuntu 服务器上部署 docker 容器。原始服务器身份验证是使用密码。后来我在 Windows 上添加了使用 PuttyGen 生成的 SSH 密钥,并在 Ubuntu 上启用了 SSH 身份验证。我可以使用 putty 使用 SSH 密钥登录,因此 SSH 密钥身份验证工作正常。
但是,当我尝试使用 appleboy/ssh-action 使用 Github 操作进行部署时,它失败并显示错误消息
ssh.ParsePrivateKey: ssh: no key found
ssh: handshake failed: ssh: unable to authenticate, attempted methods [none], no supported methods remain
这是使用appleboy的步骤
name: Deploy project on Ubuntu
uses: appleboy/[email protected]
with:
host: ${{secrets.SSH_HOST}}
port: ${{secrets.SSH_PORT}}
username: ${{secrets.SSH_USERNAME}}
key: ${{secrets.SSH_KEY}}
我验证了密钥存在于机密中且名称正确,并且当我测试它以将文件复制到 ubuntu 服务器时它可以工作。但是当使用appleboy时它不起作用。
可能出了什么问题?我是否需要更改密钥格式或其他错误?
我目前遇到了与您描述的完全相同的问题,但直到今天才解决。在我的搜索过程中,我找到了这个答案,应该有很多人提供帮助,但不是为了我,但也许为了你: