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客戶端,但一樣不行,最終鎖定是服務器設置的問題。
以上只是介紹了整個過程,中間有什麼不明白的百度一下就好。若是看的人多,後期再把完整的過程寫了。
相關文章
相關標籤/搜索