我在Jenkins经营一份工作。但是,当我创建一个构建时,我会得到以下错误。
Permissions 0644 for 'id_rsa_bblc' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: id_rsa_bblc
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
在谷歌搜索解决方案时,我发现我必须将文件权限更改为400或600。因此,我尝试在更改权限(使用400和600)后再次构建作业,但仍然没有用,错误仍然存在。
请帮我解决这个问题。
3条答案
按热度按时间3hvapo4f1#
您需要限制对rsa密钥的访问权限。
kmynzznz2#
0644
对于公钥来说不应该太开放,但对于您的私钥来说太开放了。您的私钥应该具有权限
0600
,而您的公钥应该具有权限0644
。顺便说一句,您还应该注意对.ssh文件夹的权限。它应该具有权限
0700
,因此只有您作为所有者才能控制该文件夹。对于您的home目录,不应该授予group和其他人写权限。
运行
chmod go-w /home/username
应该可以解决这个问题。顺便说一句,您应该直接在机器上运行,而不是通过Jenkins。
dpiehjr43#
如果键chown/chgrp和chmod info正确,请尝试以下操作:
将.PUB密钥更改为私钥,例如:
在~/.ssh/config文件中:
identityfile /home/foo/.ssh/id_ed25519.pub
(旧)vt.进入,进入
identityfile /home/foo/.ssh/id_ed25519
(新)然后再试一次。
从这里看来,在实现中,“配置”文件假定列出了私钥,当找到.Pub密钥时,它检查PRIVkey应该拥有的权限,抛出错误。如果是真的,这与前几年的答案是不同的,当时人们说.Pub密钥应该列出。
(我的系统:Debian 11靶心,openssh-server1:8.4p1-5)
HTH,迈克尔