前言
今天登錄服務器的時候,控制台輸出如下信息
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
后面的yes
為no
,並且去掉前面的注釋符,同時可以限制失敗次數
注意: 這個失敗次數是對所有用戶都起作用的。
#LoginGraceTime 2m
PermitRootLogin no
#StrictModes yes
MaxAuthTries 3
#MaxSessions 10
3. 重啟sshd
服務
systemctl restart sshd.service
此時再用root
用戶登錄,此時再用root
用戶登錄,如果不能登錄則代表配置成功。如果需要使用root
權限,可以使用su
或者sudo
進行切換。
注意:禁用root
用戶后使用sftp
時可能出現登錄不了的問題,目前還沒找到解決辦法