2014-03-12 55 views
4

我可以使用我的private key和密碼在服務器上成功驗證putty。但是,當我嘗試用詹金斯做到這一點發布了SSH插件(使用測試進行配置),我收到以下錯誤信息:Jenkins通過ssh驗證發佈失敗,使用私鑰

jenkins.plugins.publish_over.BapPublisherException: Failed to connect session for config myconfig. Message [Auth fail] 

我進了相同的信息膩子:

主機名:MYHOSTNAME
用戶名名稱:myusername
遠程目錄

使用密碼驗證,或者使用不同的密鑰口令/密碼 路徑鍵入:檢查
路徑鍵入:mypath中
口令:mypasssword
重點
端口: 22
超時(ms):300000

如果您有任何想法... 感謝您的幫助。

+0

的插件詹金斯指南指出,在檢查選項「使用密碼驗證,或者使用不同的密鑰密碼路徑/密碼路徑「啓用另外三個字段提供」路徑密鑰「,」密鑰「和」密碼短語「的詳細信息...我沒有看到以上信息的密碼短語,h你是否也在那個盒子裏提供了你的密碼? –

+0

在下面的答案中增加了更多詳細信息 –

+0

對不起,我把密碼也放在了一起,但是我忘記了我的問題。事實上,我把和膩子完全相同的信息。我真的不明白這個問題! –

回答

8

看起來你正在使用密鑰文件認證,因此如果您還沒有正確設置你的.ssh文件夾和/或~/.ssh/authorized_keys文件的權限會得到從詹金斯這個錯誤。

  • .ssh文件夾應該有drwx------權限(讀/寫/執行的所有者只)
  • authorized_keys文件應該有-rw-------權限(讀/寫所有者只)

要解決這個問題:

chmod 700 ~/.ssh 
chmod 600 ~/.ssh/authorized_keys 
1

我覺得,因爲它說,這是一個身份驗證問題:

使用密碼驗證,或者使用不同的密鑰 選擇此選項將產生鏡像的詹金斯SSH密鑰的可用選項3更多的配置盒。

密碼短語/密碼 如果任一路徑的鍵或鍵被配置,那麼這是與加密密鑰使用的密碼。 如果沒有配置密鑰,那麼這是用於密碼驗證的密碼。

鑰匙的路徑 查看上面的描述。

查看上面的描述。

Disable exec 此選項將刪除使用此配置執行命令的功能。

LINK HERE

+0

謝謝,但我沒把完全相同的信息,如油灰,但它不能在詹金斯工作 –

2

檢查公鑰是否位於目標文件.ssh/authorized_keys上t服務器,即使目標服務器與jenkins服務器相同。我有可能是同樣的問題,事實證明,我需要這個,即使ssh localhost工作正常。

(附錄:還檢查詹金斯服務器在其.ssh/known_hosts文件的目標服務器,因爲這會影響這一點。)

+0

'的.ssh/known_hosts'創建問題在我的情況。從'known_host'中刪除指紋解決了問題 – anand

0

我面臨同樣的問題,下面的步驟爲我工作: - (我使用詹金斯1.57)

  1. 訪問http:///詹金斯/管理
    1. 配置系統
    2. 瀏覽發佈了SSH部分
      • 口令:空白
      • 路徑鍵:空白
      • 鍵:空白
      • 禁止前高管:取消選中
      • SSH服務器 - 名稱:[email protected] - 主機名:遠程主機。 COM - 用戶名:REMOTE_USER - 遠程目錄:空 - 高級 - 勾選 「使用密碼時應驗證,或者使用不同的密鑰」 - 端口:22 - 超時(毫秒):300000 - 「測試配置」

成功

3

我今天碰到了同樣的問題,事實證明我是不小心供給路徑公鑰,而不是私單

所以 「路徑鑰匙」 應該是這樣的

.ssh/id_rsa 

,而不是

.ssh/id_rsa.pub 
0

因爲你的Linux登錄需要輸入密碼,得到的答覆是:

1. Passphrase: your passphrase 
2. path to key: your private key path 
3. key : blank 
4. Disable exec : un-check 

SSH服務器

1. Name: [email protected] 
2. hostname: remotehost.com 
3. Username: remote_user 
4. Remote Directory: empty 

高級 -

5. check the box "use passsword authentication, or use a different key" 
    `important` 

6. Passphrase/Password: your linux login password`important` 

7. path to key: blank 

8. key:blank 

9. port: 22 

10. Timeout(ms): 300000 

'測試配置' 成功

+0

非常感謝,它對我有很大的幫助。 – Pramod

相關問題