1. 程式人生 > >Linux禁用root賬戶ssh登錄

Linux禁用root賬戶ssh登錄

ice lin 在那 block art ons ESS 擔心 很多

前言

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

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時可能出現登錄不了的問題,目前還沒找到解決辦法

Linux禁用root賬戶ssh登錄