【问题标题】:Jenkins cannot read /home/hudson/.ssh/id_rsa詹金斯无法读取 /home/hudson/.ssh/id_rsa
【发布时间】:2020-02-25 18:42:30
【问题描述】:

我是这样安装 jenkins 的:https://linuxize.com/post/how-to-install-jenkins-on-debian-9/

基本上sudo apt install jenkins 以 root 身份登录 然后我创建了一个hudson 用户并使用ssh-keygen 生成一对密钥。

然后我尝试在 gerrit-trigger 插件 (https://plugins.jenkins.io/gerrit-trigger/) 中使用公钥

但是它告诉我/home/hudson/.ssh/id_rsa 不存在。

我猜这是权限问题。当我使用apt install jenkins 时,有没有办法指定in user hudson

感谢。

【问题讨论】:

  • 与 .pub 相同
  • 确保您使用 hudson 用户创建了 ssh 密钥。您可以使用列表命令查看文件:ls -a /home/hudson。如果在那里找不到 ssh 密钥,请运行:sudo su - hudson 然后运行 ​​ssh-keygen

标签: jenkins debian


【解决方案1】:

您似乎使用 root 用户创建了 ssh 密钥。您需要在以 hudson 用户身份登录时创建 ssh 密钥,或者您可以将路径更改为 /root/.ssh/id_rsa

如果要使用hudson用户的路径,请先登录hudson用户,

sudo su - 哈德森

然后创建 ssh 密钥对:

ssh-keygen

然后您可以使用列表命令确认文件

ls -a /home/hudson/

如果你在那里看到 id_rsa 文件,那么你可以把它的地址放在/home/hudson/id_rsa

【讨论】:

  • 这是我创建密钥的方式,但是它们在 /home/hudson/.ssh 中可见,而不是 /home/hudson
【解决方案2】:

这似乎是与权限相关的问题。请将/var/lib/jenkins中.ssh文件夹下所有文件的权限改为jenkins。

chown jenkins:jenkins /var/lib/jenkins/.ssh && chown jenkins:jenkins /var/lib/jenkins/.ssh/*

chmod 700 /var/lib/jenkins/.ssh && chmod 600 /var/lib/jenkins/.ssh/*

同样对 hudson 用户的 ssh 密钥进行类似的配置:

苏-哈德森

chmod 700 ~/.ssh && chmod 600 ~/.ssh/*

【讨论】:

    【解决方案3】:

    Jenkins 安装在 debian 中创建了一个 jenkins 用户。

    我已经做了su - jenkins,然后为它创建了一个 ssh 密钥对ssh-keygen

    然后 jenkins UI 就可以读取位于/var/lib/jenkins/.ssh/id_rsa的这个了

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-13
      • 1970-01-01
      • 1970-01-01
      • 2012-12-23
      相关资源
      最近更新 更多