将私钥的权限设置为600的全部目的是,其他用户都不能访问它。如果您将密钥放置在另一个用户的主目录(/home/anotheruser/.ssh)中,那么Jenkins用户和其他任何人(root用户除外)都将无法访问它。
这是按设计的 。
如果您希望您的Jenkins用户能够使用私钥,请将其也复制到jenkins用户的主目录(/home//.ssh)。
另外,如果您尝试以Jenkins用户的身份在其他用户目录中删除/创建目录而不提供权限,则会出现权限错误。这是因为安全。允许此操作的唯一方法是允许Jenkins用户更改这些目录。
一个安全的选项是将Jenkins用户添加到与另一个用户相同的组中。完成此操作后,在要读取和写入的目录上设置权限,以允许用户组中的任何人进行更改。
rwxrwx---
上述权限将允许文件夹的所有者和同一组中的任何其他用户进行更改,但不允许其他任何人。这是安全的,因为您可以控制谁属于另一个用户组。
编辑
不过,看来您的错误已更改。您不会再被拒绝权限。您仍然可以通过终端吗?我认为主机密钥验证失败的原因是,您的密钥最初是为其他用户创建的。我知道我在上面的答案中说过要这样做,但这不是正确的方法。
作为jenkins用户,您可以运行以下命令:
ssh-keygen (say yes or agree if it asks if you want to replace your current keys)ssh-copy-id -i ~/.ssh/id_rsa.pub remoteuser@remote_serverssh remoteuser@remote_server
如果可行,请在终端上尝试脚本,然后再次通过jenkins …



