Jenkins SSH Clone 回報「Host key verification failed.」
原本使用ssh clone 時,透過以下文章在 root權限進行配置時發現還是不行,所以查了下才發現 Jenkins 運行時用戶權限是在Jenkins,所以必須在該用戶權限新增key才可以訪問。
Gitlab SSH Clone 配置 git ssh clone時「Permission denied」
起初因為使用ssh-keygen 生成的私鑰跟公鑰都無法使用,都會回報 「Permission denied」,後來發現還需要在 同層目錄 /root/.ssh/config 新增以下指令。 以下配置請注意: 1. Host / HostName 改為同樣URL 2. port 預設是22 port 3. IdentityFile 請輸入 「private key」路徑 Host gitlab.test.com HostName gitlab.test.com Port 8591 User git IdentityFile ~/.ssh/jenkins IdentitiesOnly yes 配置完成後即可透過該行指令進行測試 ssh -T [email protected]若看到

su jenkins # 切換用戶
whoami # 可以查詢當前用戶權限
cd ~/.ssh
# ssh-keygent 可以參照下面文章的用法
ssh-keygen -t rsa -b 4096 -f ~/.ssh/jenkins -C [email protected]
touch ~/.ssh/config
# 說明可以參照上面文章
Host gitlab.test.co
HostName gitlab.test.co
Port 8591
User git
IdentityFile ~/.ssh/jenkins
IdentitiesOnly yes
ssh-keygen 用法及說明
有時候在創建自己的Cloud VM時,會經常使用到pem key,所以記錄下這個指令的用法。 最基礎的創建指令 ssh-keygen -t rsa -b 4096 -f ~/.ssh/new-key -C 專案名@gmail.com * -t 指定密鑰類型 常見有以下 * rsa RSA加密算法 但需要搭配 -b 參數使用 (ex:2048/4096) 兼容性最好。 * ed25519 安全性高,在新系統上有比較好的支持。 * -f 指定密鑰文件名,若要重新創建時可以透過該指令強制覆蓋。 * -C(大寫) 添加注釋 另一方面可以拿當login 時的user,但要注意有些不允許root,可以使用其他名稱。 若在創建時箭頭處設置了密碼 ,那麼使用這組key時 則需要輸入該組密碼才能訪問,以及在使用ssh 訪問時,user 會需要輸入當時創建的ID
