这个网址里面的内容有虚假 本人按照这个方法操作有问题,现在纠正下
https://jingyan.baidu.com/article/6dad50750f3f22a123e36ec2.html
注意:不要用root账号进行免密码登录,本人试过不行,需要创建一个额外的账号,不知道是否是本人哪里操作不行。
第一步没问题
第二步有问题
问题点:他上面密钥类型是DSA,可是他配置的时候是把如下RSA服务开放了,完全瞎忽悠,也许他本人的系统本身支持DSA,可按照他的写法肯定是由问题的。
解决方案:换成RSA 这样才能和sshd_confif配置文件里面的【允许RSA密钥】匹配上
RSAAuthentication yes #允许RSA密钥
cd /root mkdir .ssh #在需要开启ssh连接的用户目录下建立 .ssh目录
【这里他说的不是很清楚 我解释下 如果你是用root账号登录的那 应该没问题,如果不是root账号登录的,比如我买的是腾讯云系统是ubuntu系统, 给我的登录账号不是root,是ubuntu账号,这个账号是在/home/ubuntu下面的,所以我的公钥是放在/home/ubuntu/.ssh目录下面的, 简单的说你是用那个账号进行登录的,就需要把这个公钥放到账号目录下, SSH进行登录的时候你用什么账号进行登录,他就会到这个账号下面进行找这个公钥进行验证】
chmod 700 .ssh cd .ssh mv Identity.pub authorized_keys #这个地方就是简单的换个名字 如果这个文件已经存在可以删除(如果之前是密码登录的话 应该是空内容文件或者没这个文件) chmod 644 .ssh/authorized_keys
如下这款应该没什么问题 我是按照这个来的
vim /etc/ssh/sshd_config #修改,确认 ssh配置文件 PermitRootLogin no #禁止root登录(下面实验没有加上这一句) PubkeyAuthentication yes #启用公告密钥配对认证方式 AuthorizedKeysFile /home/ubuntu/.ssh/authorized_keys #存放位置(文件名可以修改,但是要和前面的对应)【我不是root账号所以我位置是ubuntu账号下面】 RSAAuthentication yes #允许RSA密钥 PasswordAuthentication no #禁止密码验证登录,如果启用的话,OpenSSH的 RSA认证登录就没有意义了。
重启sshd服务(centos7+)
systemctl restart sshd