PM2部署权限被拒绝

问题描述 投票:-1回答:1

当我运行pm2 deploy development setup时,我收到以下错误。这很奇怪,因为此密钥没有设置密码。

Enter passphrase for key '/Users/spongebob/.ssh/dev.pub':
Permission denied (publickey,keyboard-interactive).

  setup paths failed

Deploy failed

我创建了一个没有密码的密钥对,并将其转移到我的开发机器,如下所示:

ssh-copy-id -i ~/.ssh/virtualbox_dev -o "IdentityFile /Users/spongebob/.ssh/dev" -f [email protected]

我可以在没有密码的情况下登录SSH:

ssh -o 'IdentityFile /Users/spongebob/.ssh/dev' '[email protected]'
Last login: Sun May 27 12:39:57 2018 from 192.168.0.11

我已将此密钥添加为Github的部署密钥,因为这是一个私有仓库(并且还添加了virtualbox_dev密钥)。并测试它是否有效......

Hi MyUsername/blue-mask-api! You've successfully authenticated, but GitHub does not provideshell access.

这是我的部署配置(我在package.json中有这个):

"deploy": {
    "development": {
      "key": "/Users/spongebob/.ssh/dev.pub",
      "user": "dev",
      "host": "192.168.0.17",
      "ref": "origin/master",
      "path": "/home/dev/",
      "repo": "[email protected]:MyUsername/blue-mask-api.git",
      "post-deploy": "echo 999999999999",
      "ssh_options": [
        "StrictHostKeyChecking=no",
        "PasswordAuthentication=no"
      ]
    }

这令人困惑,因为它要求输入密码并且没有一套。当我把它留空时,我仍然被许可拒绝。

node.js git github ssh pm2
1个回答
-1
投票
Enter passphrase for key '/Users/spongebob/.ssh/dev.pub':

您似乎正在尝试使用错误的密钥文件。扩展名为“.pub”的文件是公钥文件。没有“.pub”扩展名的相应文件是私钥文件。当您运行ssh客户端以连接到远程服务器时,您必须将私钥文件提供给ssh客户端。公钥文件的内容存储在服务器上(在本例中为github),ssh服务器软件使用它来确认可以接受此密钥进行身份验证。

你应该有一个与公共文件同名的私钥文件,除了没有“.pub”扩展名:

"development": {
  "key": "/Users/spongebob/.ssh/dev",
                                ^^^--note no .pub
© www.soinside.com 2019 - 2024. All rights reserved.