centos 7 修改sshd | 禁止 root登入及sshd埠指令碼定義
阿新 • • 發佈:2019-09-03
1.新建使用者wwweee000
[root@localhost ~]# useradd wwweee000 [root@localhost ~]# passwd wwweee000 Changing password for user wwweee000. New password: BAD PASSWORD: The password is a palindrome Retype new password: passwd: all authentication tokens updated successfully.
2.#Port 22欄位刪掉,將22改為其他不被使用的埠,
伺服器埠最大可以開到65536.//注意Port是大寫的"P"
[root@localhost ~]# cat -n /etc/ssh/sshd_config|grep "Port *" 17 #Port 22 100 #GatewayPorts no [root@localhost ~]# cat /etc/ssh/sshd_config|grep -n "Port *" 17:#Port 22 100:#GatewayPorts no [root@localhost ~]# awk "/Port */" /etc/ssh/sshd_config #Port 22 #GatewayPorts no
上面還是不能滿足輸出結果:我們只要Port 22的答案.
[root@localhost ~]# cat /etc/ssh/sshd_config|grep -n "Port\ " 17:#Port 22 [root@localhost ~]# cat -n /etc/ssh/sshd_config|grep "Port\ " 17 #Port 22 [root@localhost ~]# cat /etc/ssh/sshd_config|grep -n "Port\ " 17:#Port 22 [root@localhost ~]# awk "/Port\ /" /etc/ssh/sshd_config #Port 22 [root@localhost ~]# sed -i "17s/#Port 22/Port 22/g" /etc/ssh/sshd_config [root@localhost ~]# awk "/Port\ /" /etc/ssh/sshd_config Port 22
-n顯示行號;\反斜槓實質定義
3.不使用vi/vim進行修改Port 22 為 4096
[root@localhost ~]# sed -i "17s/Port 22/Port 4096/g" /etc/ssh/sshd_config [root@localhost ~]# cat /etc/ssh/sshd_config|grep "Port\ " Port 4096
4.修改 #PermitRootLogin yes 為 PermitRootLogin no
[root@localhost ~]# cat -n /etc/ssh/sshd_config|grep "PermitRootLogin" 49 #PermitRootLogin yes 104 # the setting of "PermitRootLogin without-password". [root@localhost ~]# sed -i "49s/#PermitRootLogin yes/PermitRootLogin no/g" /etc/ssh/sshd_config [root@localhost ~]# cat -n /etc/ssh/sshd_config|grep "PermitRootLogin no" 49 PermitRootLogin no
5.重啟sshd服務
[root@localhost ~]# systemctl restart sshd.service
6.使用 wwweee000 使用者登入變化
[wwweee000@localhost ~]$
user普通使用者不能編輯/etc/ssh/sshd_config,需要切換root才能編輯,切換root命令 : su
7.root進行執行,編寫shell指令碼。//指令碼通用centos 7 (主要:sshd_config埠號定義輸入對root登入禁止)
#!/bin/bash sshd_Port=`cat /etc/ssh/sshd_config|grep "Port\ "` echo " 當前sshd埠:$sshd_Port" read -ep " 請輸入sshd服務的連線埠Port (1-65536); 請確保其他埠衝突和防火牆埠開放業務:" sshd_Port_read echo " 你輸入的埠號:$sshd_Port_read" sed -i "s/$sshd_Port/Port $sshd_Port_read/g" /etc/ssh/sshd_config echo " 已經設定埠為:`cat /etc/ssh/sshd_config|grep "Port\ "`" sed -i "s/#PermitRootLogin yes/PermitRootLogin no/g" /etc/ssh/sshd_config systemctl restart sshd.service exit 0
執行測試(可迴圈使用)本次防火牆關閉/生產伺服器都是關閉防火牆的
[root@localhost wwweee000]# firewall-cmd --state not running
[root@localhost ~]# sh sshd_config_Port.sh 當前sshd埠:Port 22 請輸入sshd服務的連線埠Port (1-65536) 請確保其他埠衝突和防火牆埠開放業務:4096 你輸入的埠號:4096 已經設定埠為:Port 4096
各路大神,求帶飛有什麼建議敬請留言。QQ:861996013,李輝 。轉載請註明,謝