① 关掉 ssh 的密码登陆
0.检查是否已经安装 ssh-keygen 了
如果出现上面的错误需要从 1.安装 ssh-key 开始;否则从 2.创建授权文件 开始。
1.安装 ssh-key
安装 RSA 的 key,一路 ENTER 就行了。
2.创建授权文件
将本地的 id_rsa.pub 的内容写入 authorized_keys , 注意:是本地的,不是服务器的 。
3.免密码登陆测试
理论上,直接就登陆上去了
1.修改配置文件
修改一下内容,一般都已经设置了,修改一下就好了, 不要添加哦 。
2.重启 ssh 服务
OK,这样就可以防止别人破解密码了
关闭SSH传统密码登陆方式
② ssh localhost 配置免密登陆仍需要密码的解决方法
最近在看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了,遇上同样问题的小伙伴可以自己去查一下。
``