putty加了密钥ssh不能登录,PuTTY:server refused our key问题的解决(转)

 

直接上方法:禁用系统的selinux功能,命令#setenforce0,但重启系统,selinux仍然启用。根治方法:更改SElinux的配置文件/etc/selinux/config,修改SELINUX=disabled。(配置文件中有说明),重启机器。而后在试试?PuTTY登陆界面出现了那渴望已久的"Enterpassphrase for key...:",输入密钥的指纹,成功进入。
 
下面听我慢慢道来。
学习Linux也有段时间了,但一直在弄些服务器的搭建和配置。想来,因为没经验,应聘一些Linux系统运维的工做,老是被拒绝(却是那次杭州淘宝网的IDC值班运维的offer让我高兴了一阵子,终究由于当时还大三,没有办法全职,最终只能做罢,如今想来实在惋惜)。因此我打算,对应工做实战,一步一步来实践。弄到ssh这里时,实在是将了我一军。putty这个sshclient forwindows仍是挺好的,至少不少人用而且评价不错。简单,但同时功能单一。有利就有弊,因此putty配套的还有puttygen,全称puttykey generator,也就是putty密钥产生器。同时还有配套的PSFTP、PSCP等。
怎么在Windows下远程登陆Linux(个人是CentOS)?
一、配置Linux里的sshd,/etc/ssh/sshd.conf,修改配置文件,密钥位数、ssh版本、passwd认证等。
二、生成rsa密钥,#ssh-keygen -b 1024-t rsa
三、使用PSFTP下载私钥id_rsa至本地。
四、将下载的私钥导入puttygen而后保存私钥为putty使用的ppk文件。
五、设置putty,制定Auth中的private keyfile,而后登陆便可。
一开始我彻底是按照步骤来的,思路也很清晰,先生产而后下载而后导入更改格式,最后认证便可。但一看是的三四天,我将这一过程试了不下10遍,终究不行。还试了网上网友说的各类更改设置,都无济于事。而且还用了本地生成,而后上传公钥的方法(这种方法最安全,推荐,由于公钥被盗也无所谓)。最终都是登陆无门。
而后又再网上翻天覆地的找各类解决方法,都无济于事。这时的我对不少网友实在很无语,本身没有亲自实践就在网上随便乱贴东西或是copy别人的东西。这时我只能靠本身了。
其实,我从一开始就考虑是否是iptables的缘故,可是本身记得当时在设置iptables时已经开放了22端口啊。苍天,我只好先:serviceiptables stop。可是仍然是无用啊。
最后想到是否是上级目录和文件权限的问题,而后又chmod修改权限,仍然无解。
最后,想到一下SElinux,看书时(那个南非蚂蚁大哥写的)有提到Selinux这个新的安全工具。想来应该是它在做怪,寻找/etc下发现selinux目录,打开发现config和sestorecron.conf,恍然大悟,修改之保存。而后又在网上搜索看了看selinux的详细,果真是它在做怪。最后按本文开头介绍的方法成功完成SSH2的RSA认证。
其实,中间的过程作的还有不少,好比查看/var/log下的登陆日志,其实仍是在这里找到了第一丝线索,但因为英文水平和系统知识都不够火候,以致于费了老大功夫。其实在开始PUTTY失败是我还试了不少其余的SSH客户端,但一样不行,最终锁定是服务器设置的问题。
以上只是介绍了整个过程,中间有什么不明白的百度一下就好。若是看的人多,后期再把完整的过程写了。
相关文章
相关标签/搜索