git 加载键:权限被拒绝jenkins

tkqqtvp1  于 2023-01-01  发布在  Git
关注(0)|答案(2)|浏览(209)

我尝试在jenkins中运行一个多分支作业。代码放在git中。运行作业时遇到访问权限问题。在jenkins中生成ssh-keygen时遇到权限被拒绝错误。
在ubuntu box中配置。
1.尝试从/root/.ssh复制id_rsa和id_rsa.pub,但它不复制id_rsa中的任何内容,也不允许手动编辑文件。

git ls-remote -h git@github.com:****/*****1.git HEAD
The authenticity of host 'github.com ("IP Address")' can't be established.
RSA key fingerprint is SHA256:********************Y8.
Are you sure you want to continue connecting (yes/no)? yes
Failed to add the host to the list of known hosts (/var/lib/jenkins/.ssh/known_hosts).
Load key "/var/lib/jenkins/.ssh/id_rsa": Permission denied
Permission denied (publickey).
fatal: Could not read from remote repository.
wvt8vs2t

wvt8vs2t1#

出现此错误的原因是,您可能已将id_rsa文件复制到位置/var/lib/jenkins/.ssh/。您可能已将该文件从本地计算机复制到远程服务器,或者已在根级别创建密钥,因此文件“id_rsa”的所有者为根,而您正在尝试从Jenkins访问此文件。Jenkins应该是读取该文件的所有者。以下是检查和修复此问题的步骤

  1. SSH连接到jenkins服务器,首先运行命令sudo su,然后进入/var/lib/jenkins/.ssh/
    1.运行命令ls -la
    1.您将看到owner作为id_rsa文件(如-r--------. 1 root root 18 Sep 1 10:00 id_rsa)的root根
    1.运行命令chown jenkins:jenkins id_rsa。此命令将文件的所有者从root更改为jenkins。现在同一行看起来像-r--------. 1 jenkins jenkins 18 Sep 1 10:01 id_rsa
    1.现在尝试再次运行jenkins作业,它将成功运行。
    1.请确保您的id_rsa文件应该有正确的权限。如果不安全,请执行chmod 400 id_rsa
    我已经按照上述步骤解决了这个问题。
pepwfjgg

pepwfjgg2#

Load key "/var/lib/jenkins/.ssh/id_rsa": Permission denied是关于阅读本地文件系统上的本地私有ssh密钥,与远程服务器无关。
确保您对ssh密钥具有读取权限。(当我的密钥由Windows主机加密时,我遇到了这个问题,但我的Docker容器无法解密它。
您也可以生成一个新密钥并尝试使用该密钥。

相关问题