AdSense

網頁

2023/8/28

Jenkins Host key verification failed

紀錄設定Jenkins部署專案時,碰到Host key verification failed問題的原因和解決方式。


最近在Jenkins設定將專案部署到新的環境,雖然已在目標伺服器的~/.ssh/authorized_keys檔案放入Jenkins的ssh public key(user為jenkins),例如:

ssh-rsa AAAAB3NzaC1yc...C1LtkCIaGr9AuoBNee3GALJ5 jenkins@jenkins.dev

也設定了適當的目錄與檔案權限,然而在建置時仍碰到Host key verification failed錯誤。根本原因是Jenkins伺服器沒有取得目標伺服器的host key。


由於在於設定過程中從未使用Jenkins伺服器ssh登入目標伺服器(都是以本機ssh到Jenkins伺服器和目標伺服器進行),所以Jenkins伺服器也就沒有取得第一次ssh登入時的host key(fingerprint)。導致Jenkins在建置過程中執行execute shell script中的scp命令將Jenkins伺服器的檔案複製到目標伺服器時就會出現Host key verification failed錯誤。

解決方式是從本機ssh登入到Jenkins伺服器,輸入su - jenkins切換為jenkins使用者,然後再從Jenkin伺服器ssh登入目標服務器取得host key。完成這步驟在建置時就沒錯誤發生了。



沒有留言:

AdSense