同事買的服務器被暴力破解了

前言

今天同事說他前幾天買的xx雲的服務器,被暴力破解了。然後我偷偷看了下我自己買的雲服務器,不看不知道,一看嚇一跳。

lastb

lastb 用於列出登入系統失敗的用戶相關信息。

# 顯示前10行,顯示的行數可以通過參數 -n 指定
$ lastb | head

我們可以通過ip地址查詢,查詢到登錄失敗的ip地址信息

如何防止別人暴力破解

修改ssh端口

$ vim /etc/ssh/sshd_config

把端口22修改成其他端口,保存:wq,然後重啓sshd服務

$ systemctl restart sshd.service

重新連接服務器的時候,需要修改連接端口

$ ssh root@host -p port

禁用密碼登錄,用RSA公鑰登錄

所謂"公鑰登錄",原理很簡單,就是用戶將自己的公鑰儲存在遠程主機上。登錄的時候,遠程主機會向用戶發送一段隨機字符串,用戶用自己的私鑰加密後,再發回來。遠程主機用事先儲存的公鑰進行解密,如果成功,就證明用戶是可信的,直接允許登錄shell,不再要求密碼。

這種方法要求用戶必須提供自己的公鑰。如果沒有現成的,可以直接用ssh-keygen生成一個:

$ ssh-keygen

運行上面的命令以後,系統會出現一系列提示,可以一路回車。其中有一個問題是,要不要對私鑰設置口令(passphrase),如果擔心私鑰的安全,這裏可以設置一個。

運行結束以後,在$HOME/.ssh/目錄下,會新生成兩個文件:id_rsa.pub和id_rsa。前者是你的公鑰,後者是你的私鑰。

這時再輸入下面的命令,將公鑰傳送到遠程主機host上面:

$ ssh-copy-id user@host

好了,從此你再登錄,就不需要輸入密碼了。

如果還是不行,就打開遠程主機的/etc/ssh/sshd_config這個文件,檢查下面幾行前面"#"註釋是否取掉。

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

然後,重啓遠程主機的ssh服務。

$ systemctl restart sshd.service

測試用密鑰登錄

$ ssh -i .ssh/id_rsa root@host -p port

登錄成功後,可以關閉密碼登錄

$ vim /etc/ssh/sshd_config

打開遠程主機的/etc/ssh/sshd_config這個文件,將 PasswordAuthentication yes 修改爲 PasswordAuthentication no

PasswordAuthentication no

重啓sshd服務

$ systemctl restart sshd.service

小結

其實也不用上面的操作,把密碼設置複雜一點也行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章