簡體   English   中英

Jenkins 權限被拒絕從 Jenkins CLI 訪問 pem 密鑰 - 嘗試從 jenkins 實例登錄另一個實例

[英]Jenkins Permission denied accessing pem key from Jenkins CLI - Try to make the loging another instance from jenkins instance

我在 AWS EC2 中有 2 個實例。 1 適用於 Jenkins 1 適用於 Angular 6。我正在嘗試構建從 Jenkins 實例到我的 Angular 6 應用程序托管的另一個 EC2 實例的管道。

我到底想在這里做什么,如果在我的 Bitbucket 存儲庫中發生任何推送,Jenkins 將通過 ssh -i user@ip 識別該登錄到另一個 EC2 實例,並從 master 分支中提取代碼並通過 pm2 部署它。

目前我面臨的問題 -

詹金斯日志 -

由用戶 Atique Ahmed 啟動 在工作區 /var/lib/jenkins/workspace/meanstack 中以系統身份運行 未指定憑據

git rev-parse --is-inside-work-tree # timeout=10 從遠程 Git 存儲庫獲取更改 git config remote.origin.url https://bitbucket.org/atique12/mongocrud_application_frnt_end.git # timeout=10 從上游獲取更改自https://bitbucket.org/atique12/mongocrud_application_frnt_end.git git --version # timeout=10 git fetch --tags --progress -- https://bitbucket.org/atique12/mongocrud_application_frnt_end.git +refs/heads /:refs/remotes/origin/ # timeout=10 git rev-parse refs/remotes/origin/master^{commit} # timeout=10 git rev-parse refs/remotes/origin/origin/master^{commit} # timeout =10 檢出修訂版 a7df8023cebbbac998274628bc761ea68da62da0 (refs/remotes/origin/master) git config core.sparsecheckout # timeout=10 git checkout -f a7df8023cebbbac998274628bc761ea68da62da0 list --no-walk a7df8023cebbbac998274628bc761ea68da62da0 # timeout=10 [meanstack] $ /bin/bash /tmp/jenkins69726072 04969540608.sh jenkins 不在 sudoers 文件中。 此事件將被報告。 總計 12 -r-------- 1 ubuntu ubuntu 1696 Jan 8 05:59 allinstancepair.pem -rwxrwxrwx 1 ubuntu ubuntu 184 Jan 8 17:21 deploy.sh drw------- 2 ubuntu ubuntu 4096 Jan 8 16:00 mykey /home/ubuntu ./deploy.sh: line 4: cd: mykey: Permission denied 警告:身份文件 /allinstancepair.pem 不可訪問:沒有這樣的文件或目錄。 OpenSSH_7.6p1 Ubuntu-4ubuntu0.3,OpenSSL 1.0.2n 2017 年 12 月 7 日 debug1:讀取配置數據 /etc/ssh/ssh_config debug1:/etc/ssh/ssh_config 第 19 行:將不會分配用於 * 偽終端的選項,因為stdin 不是終端。 debug1:連接到 13.233.183.227 [13.233.183.227] 端口 22。 debug1:連接已建立。 debug1: 身份文件 /var/lib/jenkins/.ssh/id_rsa type 0 debug1: key_load_public: 沒有那個文件或目錄 debug1: 身份文件 /var/lib/jenkins/.ssh/id_rsa-cert type -1 debug1: key_load_public:沒有那個文件或目錄 debug1: 身份文件 /var/lib/jenkins/.ssh/id_dsa type -1 debug1: key_load_public: 沒有那個文件或目錄 debug1: 身份文件 /var/lib/jenkins/.ssh/id_dsa-cert 類型-1 debug1: key_load_public: 沒有那個文件或目錄 debug1: 身份文件 /var/lib/jenkins/.ssh/id_ecdsa type -1 debug1: key_load_public: 沒有那個文件或目錄 debug1: 身份文件 /var/lib/jenkins/。 ssh/id_ecdsa-cert type -1 debug1: key_load_public: 沒有那個文件或目錄 debug1: 身份文件 /var/lib/jenkins/.ssh/id_ed25519 type -1 debug1: key_load_public: 沒有這樣的文件或目錄 debug1: 身份文件 /var /lib/jenkins/.ssh/id_ed25519-cert type -1 debug1:本地版本字符串 SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3 debug1:遠程協議版本 2.0,遠程軟件版本 OpenSSH_7。 6p1 Ubuntu-4ubuntu0.3 debug1: match: OpenSSH_7.6p1 Ubuntu-4ubuntu0.3 pat OpenSSH* compat 0x04000000 debug1: Authenticating to 13.233.183.227:22 as 'root' debug1: SSHITING1GMS senting: deKbugIN_G1GMS curve25519-sha256 debug1:kex:主機密鑰算法:ecdsa-sha2-nistp256 debug1:kex:服務器->客戶端密碼:chacha20-poly1305@openssh.com MAC:壓縮:無 debug1:kex:客戶端->服務器密碼:chacha20- poly1305@openssh.com MAC:壓縮:無 debug1:期待 SSH2_MSG_KEX_ECDH_REPLY debug1:服務器主機密鑰:ecdsa-sha2-nistp256 SHA256:2t3A4VkLU7+iLWc7e/HKast+vY6I3dXnOx137e/HKast+vY6I3dXnOx13C3V 和已知的 ECD2VY6I3dXnOx13C3V1V1V1'2V1V1V1V1V1V1V1V1V1V1V 匹配。主機密鑰。 debug1:在 /var/lib/jenkins/.ssh/known_hosts:1 中找到密鑰 debug1:在 134217728 塊之后重新加密 debug1:SSH2_MSG_NEWKEYS 發送 debug1:期待 SSH2_MSG_NEWKEYS debug1:SSH2_MSG_NEWKEYS 收到 debug1: SSH2_MSG_NEWKEYS 接收 debug1: SSH2_MSG_NEWKEYS 后收到 debug1_134217728 塊 debug1: SSH2_MSG_NEWKEYS 接收 debug1: SSH2_MSG_NEWKEYS_134217728 server-sig-algs= debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey debug1: 下一個身份驗證方法: publickey debug1: 提供公鑰: RSA SHA256:ZKnUTgYBL/OMjNHzEf3ATonaIBa5OfQs8htabRUA/librsa/vo/ debug1:可以繼續的身份驗證:publickey debug1:嘗試私鑰:/var/lib/jenkins/.ssh/id_dsa debug1:嘗試私鑰:/var/lib/jenkins/.ssh/id_ecdsa debug1:嘗試私鑰:/var /lib/jenkins/.ssh/id_ed25519 debug1:沒有更多的身份驗證方法可以嘗試。 root@13.233.183.227:權限被拒絕(公鑰)。 allinstancepair.pem deploy.sh mykey ./deploy.sh: line 7: cd: mongocrud_application_frnt_end: 沒有這樣的文件或目錄 致命的:不是 git 存儲庫(或任何父目錄):.git /home/ubuntu ./deploy。 sh: line 10: npm: command not found ./deploy.sh: line 11: pm2: command not found /home/ubuntu Finished: SUCCESS

我的 Jenkins 無法讀取 pem 密鑰文件

當我嘗試使用 SSH 和 pem 密鑰登錄另一個實例時。

我試過了 -

chmod 400 - mypem.key chmod 600 - mypem.key chmod 777 - mypem.key

沒有幫助。 每次我得到許可被拒絕的問題。 有什么幫助嗎?

Jenkins 在 jenkins 用戶下運行作業。 Jenkins 用戶無權從其他目錄讀取文件。 您還需要使用 sudo 運行 chmod 命令。 如果您嘗試使用 sudo 從 Jenkinsfile 運行命令,那么它將不起作用。 為此,您需要編輯 sudoers 文件。 它將允許 jenkins 用戶在沒有密碼的情況下運行 sudo 命令。 可以在此處找到如何更改以及更改內容。

還有一件事,如果您嘗試從 jenkinsfile 運行 shh 命令以連接到其他 ec2 實例,那么簡單的sh "ssh -i pem.key user@ip"將不起作用。 您需要通過將StrictHostKeyChecking分配給no ie ssh -o "StrictHostKeyChecking no" -i pem.key user@ip來禁用驗證

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM