centos配置ssh免密码登录后仍要输⼊密码的解决⽅法前⾔
在搭建Linux集服务的时候,主服务器需要启动从服务器的服务,如果通过⼿动启动,集内服务器⼏台还好,要是像阿⾥1000台的云梯Hadoop集的话,轨迹启动⼀次集就得⼏个⼯程师⼀两天时间,是不是很恐怖。如果使⽤免密登录,主服务器就能通过程序执⾏启动脚步,⾃动帮我们将从服务器的应⽤启动。⽽这⼀切就是建⽴在ssh服务的免密码登录之上的。所以要学习集部署,就必须了解linux的免密码登录。
第⼀步:在本机中创建秘钥
1、执⾏命令:
ssh-keygen -t rsa -C "xx@qq"
(随便编个字符串,⼀般⽤邮箱)centos vim命令
2、之后⼀路回车就⾏啦;会在~(home)⽬录下中产⽣.ssh(隐藏)⽂件夹;
3、⾥⾯有两个⽂件id_rsa(私钥)、id_rsa.pub(公钥)⽂件
注意事项:
①在liunx环境下,要想复制公钥或是私钥,不要使⽤vim等编辑器打开⽂件来复制粘贴;
因为它会产⽣不必要的回车。
②应该使⽤cat把内容打印到终端上再来复制粘贴;
第⼆步:⽤ ssh-copy-id 把公钥复制到远程主机上
ssh-copy-id zhangming@192.168.161.132
把秘钥拷贝到远程服务器
⽤这种⽅式拷贝使⽤的端⼝是Linux默认的22,如果你想指定端⼝,可以使⽤:
ssh-copy-id -i /⽤户名/.ssh/id_rsa.pub '-p 端⼝号⽤户名@106.75.52.44'
ssh-copy-id -i /root/.ssh/id_rsa.pub '-p 22222 root@106.75.52.44'
这⾥可能需要等⼀段时间,反正我是等了挺久的时间,然后显⽰要你输⼊密码:
zhangming@106.75.52.44's password:
输⼊完密码后,显⽰:
Now try logging into the machine, with "ssh '-p 22222 root@106.75.52.44'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
表⽰成功了!
第三步:远程登⼊
[zhangming@localhost ~]$ ssh zhangming@192.168.161.134
Last login: Mon Oct 10 14:18:54 2016 from 192.168.161.135
ssh zhangming@123.59.44.56 -p 22222
注意
遇到的⼤坑:
配置ssh免密码登录后,仍提⽰输⼊密码
解决⽅法:
⾸先我们就要去查看系统的⽇志⽂件
tail /var/log/secure -n 20
发现问题的所在:Authentication refused: bad ownership or modes for file
从字⾯上可以看出是⽬录的属主和权限配置不当,查资料得知:SSH不希望home⽬录和~/.ssh⽬录对组有写权限,通过下⾯⼏条命令改下
chmod g-w /home/zhangming
chmod 700 /home/zhangming/.ssh
chmod 600 /home/zhangming/.ssh/authorized_keys
然后我们再去登录,就能不⽤密码进⼊了。
有⽊有很⾼兴呀!
总结
以上就是这篇⽂章的全部内容了,希望本⽂的内容对⼤家的学习或者⼯作能带来⼀定的帮助,如果有疑问⼤家可以留⾔交流,谢谢⼤家对的⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论