爲CentOS配置SSH證書登錄驗證

最近查看服務器日誌發現有N多IP在掃描我的CentOS服務器密碼,這個很討厭,於是開始爲CentOS配置SSH證書登錄驗證,杜絕此類掃描。

準備:開啓2個putty,以防沒配置完,一高興順手重啓了sshd就麻煩了。

開始吧:

————————–

1)先添加一個維護賬號:xiaoxing

adduser xiaoxing

passwd xiaoxing

2)然後su  xiaoxing

3)ssh-keygen -t rsa
指定密鑰路徑和輸入口令之後,即在/home/xiaoxing/.ssh/中生成公鑰和私鑰:id_rsa id_rsa.pub

4)

cd /home/xiaoxing/.ssh

cat id_rsa.pub >> authorized_keys
至於爲什麼要生成這個文件,因爲sshd_config裏面默認寫的就是這個。
然後chmod 400 authorized_keys,稍微保護一下。

5)用Filezilla把把id_rsa拉回本地,然後把服務器上的id_rsa和id_rsa.pub幹掉

6)配置/etc/ssh/sshd_config

Port 6519              #修改默認的登陸端口
#Protocol 2
ServerKeyBits 1024
PermitRootLogin no    #禁止root登錄而已,與本文無關,加上安全些

#以下三行沒什麼要改的,把默認的#註釋去掉就行了
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile    .ssh/authorized_keys

PasswordAuthentication no    #禁止使用密碼登陸
PermitEmptyPasswords no


7)重啓sshd

首先添加防火牆規則開放6519端口

/sbin/iptables -I INPUT -p tcp --dport 6519 -ACCEPT

service iptables save

重啓sshd
/sbin/service sshd restart

8)轉換證書格式,遷就一下putty
運行puttygen(沒有到官網下載一下),轉換id_rsa爲putty的ppk證書文件。

直接Import key    輸入祕鑰後,save private key即可

9)配置putty登錄
在Connection–>SSH–>Auth中,點擊Browse,選擇剛剛轉換好的證書。
(然後在Connection->Data填寫一下Auto-login username,例如我的是xiaoxing   這一步可以不做)
在session中填寫服務器的IP地址,高興的話可以save一下

10)解決一點小麻煩
做到這一步的時候,很可能會空歡喜一場,此時就興沖沖的登錄,沒準登不進去:
No supported authentication methods available

這時可以修改一下sshd_config,把
PasswordAuthentication no臨時改爲:
PasswordAuthentication yes 並重啓sshd

這樣可以登錄成功,退出登錄後,再重新把PasswordAuthentication的值改爲no,重啓sshd,以後登錄就會正常的詢問你密鑰文件的密碼了,答對了就能高高興興的登進去。

11)如果還不能登陸,將sshd_config中StrictModes yes改成StrictModes no就能登錄了。

12)配置Filezilla登陸

在編輯->設置->SFTP中導入私鑰即可登陸了,不過不能root登陸。

OK,搞定了。

發佈了36 篇原創文章 · 獲贊 1 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章