Jenkins authorized_keys错误

时间:2017-09-12 14:06:51

标签: ubuntu jenkins ssh deployment server

希望你能在这里帮助我。 我有以下设置:

  • 直播服务器
  • 测试服务器
  • Jenkins服务器

我们刚刚将测试环境拆分为独立服务器。现在测试服务器构建不再起作用了。

我做了以下事情:

  1. 在测试服务器上生成SSH密钥
  2. 将.pub键添加到bitbucket
  3. 在jenkins上生成ssh密钥并添加到测试服务器上的authorized_keys文件中。
  4. 我的部署文件如下所示:

        server('testing', 'xxx.xx.xxx.x')
            ->user('testserver')
            ->identityFile('/var/lib/jenkins/.ssh/testserver.pub', '/var/lib/jenkins/.ssh/testserver', '')
            ->set('deploy_path', '/var/www/www.testserver.com/deployed');
    

    在Jenkins的部署中,我收到以下错误:

    [Deploy to Testserver] $ /bin/sh -xe /tmp/hudson4883587534736937662.sh
    + cd /var/www/delivery/
    + deployer deploy-test testing -vvv
    ➤ Executing task set-test-repository
    • done on [testing]
    ✔ Ok [1ms]
    ➤ Executing task deploy:prepare
    [testing] > echo $0
      SSH multiplexing initialization
    Permission denied, please try again.
    Received disconnect from xxx.xx.xxx.x: 2: Too many authentication failures for testserver
    

    当我在autorized_keys中编辑我的实时服务器失败时,我得到相同的错误,所以我很确定问题出在autorized_keys文件中。

    这里有什么问题?

1 个答案:

答案 0 :(得分:0)

问题是SSH密钥必须放在不同的目录中。 包含Jenkins SSH密钥的.ssh目录应位于&#34; home&#34;夹。例如我的主文件夹是/ var / www /但我已将我的.ssh目录移动到/var/www/www.mysite.com/,因此将我的.ssh目录移动到/var/www/.ssh解决了问题。< / p>