ssh localhost 配置免密登陆仍需要密码的解决方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ssh localhost 配置免密登陆仍需要密码的解决方法相关的知识,希望对你有一定的参考价值。

参考技术A 最近在看spark的书籍,书中第一步搭建单机spark的时候,有一个操作是设置ssh无密码的登陆了。万万没想到,在这一步就卡住了。已经成功配置了免密登陆,但是ssh localhost还是需要输入密码。在阿里云香港服务器挂掉之后,百度了两天才找到解决方法。特此记录。

查看日志是分析问题中很重要的一环,因为ssh中会出现各种不同的问题,每种问题的解决方法不一样。

ssh -vvv localhost 报的错误信息

日志显示ssh跳过了dsa的认证方式,最后只能通过密码认证的方式。

通过查询资料发现,ssh 7.0之后就已经默认关闭了dsa认证方式。

于是修改ssh的配置文件ssh_config,在验证方式中加入dsa

按照教程修改完配置文件后,ssh localhost任然需要输入密码,查看日志如下。·

可以看出修改过后,ssh时已经提供了DSA秘钥,但是好像校验没有通过,所以最后还是进入了输入密码验证的环节。
通过查阅资料和自己推理,问题可能出在服务端校验不通过,因为服务器端也不支持dsa这种认证方式,那就试着修改一下服务器端的配置文件。

ssh_config 和 sshd_config 分别是ssh客户端和服务器端的配置文件,ssh localhost就是一个本地客户端向本地服务器请求的过程。

修改sshd文件后,ssh localhost还是需要密码。就在我差点自闭的时候,看到有帖子说要重启一下ssh服务器。

重启完成后,ssh localhost免密登陆成功。长舒一口气。
后来经过测试,修改ssh配置文件不用重启服务,但是修改sshd配置文件,是要重启才能生效的。

据说是因为dsa是不加密的,后面都改用rsa了,遇上同样问题的小伙伴可以自己去查一下。

``

以上是关于ssh localhost 配置免密登陆仍需要密码的解决方法的主要内容,如果未能解决你的问题,请参考以下文章

解决Centos6.4集群配置ssh免密登陆仍然需要输入密码问题

ssh免密登陆相关配置

Shell脚本一键配置ssh免密登陆

sshd免密登陆

linux免密登录secure报密码过期

centos安装怎么免密登陆