无法SSH入我的节点

首先,我是这样做了两天,但没有任何工作。

我看过很多教程,但没有人为我工作。

我有jenkins安装,其中我有主节点,我想创build新的节点。 (一些代理)

我想build立与ssh的连接。

我有jenkins用户已经在我的新节点和生成的SSH密钥。 (jenkins在哪里安装,没有jenkins用户)。

但jenkins告诉我'在/ var / jenkins_home中找不到known_hosts'。 但是这个文件存在。 我检查了是否在我的新节点上打开了端口22,是的,我可以从我的本地PC连接到它。

有没有其他的方法,但它应该与SSH,而不是agent.rar。

我应该检查什么?

编辑:

-rw-r--r-- 1 root root 0 Oct 24 17:36 /var/lib/jenkins/.ssh sudo -u jenkins ssh jenkins@*IP* ls -la .ssh The authenticity of host '*IP* (*IP*)' can't be established. ECDSA key fingerprint is SHA256:*FINGERPRINT*. 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). Permission denied (publickey). 

您通常将.ssh目录文件权限设置为700 ,并由需要访问它的用户拥有。

644它不会被任何人(root除外)所穿越,所以难怪用户进程无法读取它。 将所有权更改为jenkins和权限为700.然后正确设置目录内容的所有权/权限。

然后阅读有关Unix文件和所有权的权限。

您的Jenkins用户的.ssh目录不存在,而是一些具有相同名称的文件。 要解决这个问题:删除它,创build目录并设置拥有者和权限。

 rm ~jenkins/.ssh install -d -o jenkins -m 0700 ~jenkins/.ssh 

这将解决Failed to add the host to the list of known hosts错误。

然后将您的Jenkins SSH私钥和公钥复制到该目录中,并将那里的所有者更改为jenkins ,私钥模式为0600 ,公钥为0644

通过运行sudo -u jenkins ssh jenkins@<nodehostname> ls -la .ssh再次testing。

如果仍然失败,请将错误消息添加到您的问题。