服務器的安全性不言而喻,服務器安全性設置的第一步就是堵住入口.
對于linux而言,堵住入口,就是不讓別人能隨便進入我們的服務器里面亂搞,不然一個命令 “rm -rf / “,后果不堪設想,所以不能讓別人進入我們的服務器,更加不能讓別人用root用戶進去,所以最好的做法就是.
在linux上面設置禁止root用戶遠程登錄,并且修改ssh端口【因為默認的端口是22,改了設置多一層障礙】,然后我們需要登錄進去的時候,就用一個沒有權限的用戶登錄進去,然后再用su命令切換到root或者其他有權限操作的用戶.
這樣做了之后,別人哪怕知道服務器的ip,但是不知道端口,也不知道是要用什么用戶登錄,暴力破解也破解不了.
以centos為例,設置linux禁止root用戶ssh遠程登錄,使用其他用戶登錄:
1、用root用戶登錄進去
2、使用groupadd命令新建一個login的分組,專門用于登錄
# groupadd login
3、去存放組信息文件 /etc/group 里面檢查login分組是否添加成功,如果在輸出的信息里有 login:x:501:這樣的信息,就說明成功了【后面的501并不是每臺機子都一樣,501是這個組的標識id,會因你服務器已經擁有的組不同而不同,默認是從500開始排序的,所以有login就是成功了】
# cat /etc/group
4、使用useradd命令新建一個 zhoumanhe 用戶用于ssh遠程登錄,屬于login分組,該用戶目錄在 /home/zhoumanhe 下.
# useradd zhoumanhe -g login -G login -d /home/zhoumanhe
5、去存放用戶信息文件 /etc/passwd 檢查用戶是否添加成功,如果輸出信息里面有 zhoumanhe:x:501:501::/home/zhoumanhe:/bin/bash 則說明用戶添加成功,并且屬于login組【因為有501,login組的標識id就是501】
# cat /etc/passwd
6、使用passwd命令給zhoumanhe用戶添加一個登陸密碼,剛剛添加完是還沒有設置密碼的.
- # passwd zhoumanhe
- Changing password for user zhoumanhe.
- New password: --Vevb.com
- Retype new password:
- passwd: all authentication tokens updated successfully.
特別嚴重的提示:其實在使用useradd命令也是可以直接為添加用戶設置密碼的,后面加上“ -p 要設置的密碼 ”為什么獨立出來,因為如果直接這樣添加,存進密碼文件里面的密碼就是明文的,就是說你的密碼是123,存進去的密碼也是123,到那時linux用戶的登錄密碼是要經過加密的,所以可能導致linux新添加的用戶登錄失敗.
而剛剛添加完用戶,su切換到新添加用戶,輸入passwd更改密碼的時候也會提示 “Authentication token manipulation error”,因為改密碼要先輸入舊的密碼,你輸入123,但是真實的密碼確實加密過了的,所以提示出錯.
所以出現這個問題的朋友,可以切換到root用戶,使用 “passwd 用戶名”來改新添加用戶的密碼。想看一下成功了沒有?行,打開存放密碼的文件看一下就知道了,使用命令 “ cat /etc/shadow ”查看即可,如果出現了 用戶名:一長字符串,那就是成功了,如果出現的是你輸入的明文密碼,那就重新修改密碼吧.
7、這樣的話就設置成功了,管理遠程登錄軟件,試用您剛剛添加的zhoumanhe用戶登錄看一下吧.
8、如果成功了,那我們就可以禁止掉root用戶的遠程登錄了.
9、使用root登錄進去,如果是在剛剛添加的zhoumanhe用戶,就是用直接輸入su,回車,輸入密碼切換到root用戶.
- $
- $ su
- Password:
- #
10、這個的配置信息在 /etc/ssh/sshd_config 這個文件里面,所以打開這個文件
# vi /etc/ssh/sshd_config
11、找到 PermitRootLogin yes 這一句,將yes改成no,退出保存;
PermitRootLogin no
12、修改了ssh的配置文件,所以還得重啟一下ssh服務才能生效,輸入以下命令重啟:
# service sshd restart
13、然后就重新使用ssh軟件,使用root用戶登錄看一下吧,在login as:后面輸入root,然后回車,讓你輸入密碼,輸入密碼之后,是不是發現密碼是正確的,但是提示”Access denied”,說明root已經被禁止掉ssh遠程登錄了.
14、我們就更改一下centos使用ssh遠程登錄的端口,還是打開 /etc/ssh/sshd_config 這個文件.
# vi /etc/ssh/sshd_config
15、找到 #Port 22 這一行,把前面的#去掉,變成 Port 22,然后回車,再下一行輸入 Port 8888,然后:wq保存退出,8888就是你要設置的端口,改成你想設置的就行,一般改成一個自己好記的,但是不能是現在已經用著的端口,不然有沖突.
- #Port 22
- #改成如下
- Port 22
- Port 8888
這樣是不是就有了兩行的Port了?沒錯,就是要兩行,22那一行是用于以防萬一的,為了避免,我們設置的另外一個端口萬一登錄不上,我們還可以使用22端口登錄上去改,不然沒有預留22端口,自己新添加的那個也登錄不上去,那就只有聯系客服吧.
16、剛剛我們知道,修改了ssh的配置文件,需要重啟ssh服務器。
17、使用剛剛的那個端口登錄看一下吧,成功了?,成功了就可以再次打開 /etc/ssh/sshd_config這個文件把 Port 22 這一行刪除掉,然后再次保存退出,重啟ssh服務。
18、到了這里,我們的“linux禁止root用戶ssh遠程登錄并修改ssh遠程登錄端口”目的達到了,以后登錄,就用新端口,新用戶登錄吧,登錄進去再su切換root或者其他權限用戶.
新聞熱點
疑難解答