centos 7 修改 sshd | 禁止 root 登錄及 sshd 端口腳本定義


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


免責聲明!

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



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