我在集群中连接了3个数据节点(在所有这些数据节点中,pass wordless工作正常),它们工作正常,但是当我尝试连接另一个数据节点时,pass wordless ssh在第四个数据节点中不工作。
前三个数据节点的ip地址:
172.20.93.192(name node)
172.20.94.189(data node)
172.20.94.145(data node)
172.20.94.193(data node)
现在,我的第四个数据节点的ip地址是172.20.95.6,在这里没有密码。
我正在生成密钥
ssh-keygen -t rsa
我对第四个数据节点执行与上述三个数据节点相同的过程,但它不起作用。为什么?原因可能是什么?
4条答案
按热度按时间jaxagkaj1#
我最近也犯了同样的错误。我的所有文件权限都设置正确,但ssh仍要求输入密码。最后我发现这是由于/etc/ssh/sshd\u config中缺少一个:您应该添加“authorizedkeysfile%h/.ssh/authorized\u keys”,以便sshd在您的home dir中查找publickey文件。
这样做之后问题就消失了。
lmyy7pcs2#
需要更多的信息才能得到“真正”的原因。不过,我发现了两个最常见的问题,它们与密钥配置本身无关(考虑到您使用linux:):
远程机器中的sshd被配置为“root”的受限模式,并且您正在尝试以root身份ssh。解决方案:将/etc/ssh/sshd.conf从一台工作机器复制到出现故障的机器上,然后重新启动ssh服务器。
用于远程登录的用户的主文件夹具有无效权限。为了安全起见,ssh守护程序的许多默认配置都包含有关用户主文件夹权限的限制。解决方案:与工作节点比较并修复(有时您会在/var/log/messages中看到警告/错误日志。
如果您按照流程从头开始集成密钥并检查所有相关文件的权限,那么您应该不会遇到任何问题。
请使用sshd.conf文件以及使用-v(ssh-v ipaddr)远程登录的日志进行回复,以便进行更好的分析。
9udxz4iz3#
linux中的方法是为该用户生成加密密钥(使用rsa或dsa),将该密钥保存在authorized key中,为其中的文件夹和文件分配权限。
1:使用命令生成密钥
您的公钥已保存在\u pc/.ssh/id\u dsa.pub的/home/username\u中
2:将该密钥添加到授权密钥中。
设置保存文件夹的权限。如果您需要它在另一台服务器上,那么只需将它复制到另一台机器上。
3:只需键入
它不应该要求密码,只显示上次登录时间,然后它的设置正确。记住不要将root用于ssh。
laawzig24#
我今天在centos服务器上遇到了一个非常类似的问题。问题是
/root
文件夹有错误的权限。事实上/var/log/secure
日志文件显示此错误:这是错误的:
使用
chmod
修正了它:之后,无密码登录在这个特定的服务器上工作。