2017-09-12 71 views
1

希望你能幫助我。 我有以下設置:Jenkins authorized_keys錯誤

  • Live服務器
  • 測試服務器
  • 詹金斯服務器

我們只是分裂我們的測試環境,以一個獨立的服務器。現在測試服務器版本不再起作用了。

我也做了以下內容:測試服務器上

  1. 生成SSH密鑰
  2. 新增的.pub鍵到位桶上詹金斯
  3. 生成SSH密鑰並添加到AUTHORIZED_KEYS在測試服務器上的文件。

我的部署文件看起來像這樣:

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'); 

在詹金斯上部署我得到以下錯誤:

[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文件中。

這裏有什麼問題?

回答

0

問題在於SSH密鑰必須放在不同的目錄中。 包含Jenkins SSH密鑰的.ssh目錄應位於「home」文件夾中。例如,我的主文件夾是/ var/www /但我將.ssh目錄移至/var/www/www.mysite.com/,因此將.ssh目錄移至/var/www/.ssh可解決此問題。