Linux禁用root賬戶ssh登錄


前言

今天登錄服務器的時候,控制台輸出如下信息

There were 48990 failed login attempts since the last successful login. 
Last login: Thu Sep 26 14:01:34 2018 from xx.xxx.xxx.xx

意識不對,可能是服務器被攻擊了,網上查了查,發現很多人遇到這樣的問題

其他網友的說法:
你服務器 IP 在那兒,那 SSH 開在 TCP 22 上誰都能連,連上了誰都能輸密碼,密碼錯了就在系統里留下一條記錄。
要么是被(無差別地)掃到了,要么是有人在盯着你。只說 SSH 登陸這事,如果你關閉密碼登陸(或者密碼足夠健壯),那有個就算有一百萬個猴子在試你的密碼,你也完全不用擔心的。

解決方法

關閉root用戶的ssh登錄

1. 使用root賬戶登錄系統,添加一個普通賬戶例如test,並為其設置密碼

useradd test 
passwd test

2. 修改配置文件

編輯配置文件/etc/ssh/sshd_config修改PermitRootLogin 后面的yesno,並且去掉前面的注釋符,同時可以限制失敗次數
注意: 這個失敗次數是對所有用戶都起作用的。

#LoginGraceTime 2m
PermitRootLogin no
#StrictModes yes
MaxAuthTries 3
#MaxSessions 10

3. 重啟sshd服務

systemctl restart sshd.service

此時再用root用戶登錄,此時再用root用戶登錄,如果不能登錄則代表配置成功。如果需要使用root權限,可以使用su或者sudo進行切換。

注意:禁用root用戶后使用sftp時可能出現登錄不了的問題,目前還沒找到解決辦法


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM