CentOS 7 更改ssh默認端口

本人已經實現一鍵更改默認端口腳本,地址: 一鍵更改Centos SSH默認端口腳本python

$ vi /etc/ssh/sshd_configgit

取消 #Port 22 的註釋,在下一行添加你須要修改的新端口Port 1111。(這裏不刪除 22 端口是爲了防止修改後新端口沒法訪問,形成沒法用 ssh 鏈接服務器。github

Port 22
Port 1111

修改保存 sshd_config 文件後重啓 sshd 服務:服務器

$  systemctl restart sshdssh

退出 ssh 會話後,再用新的端口鏈接:
 
配置防火牆 firewalld
啓用防火牆 && 查看防火牆狀態:
$ systemctl enable firewalldtcp

$ systemctl start firewalldrest

$ systemctl status firewalldcode

firewalld.service - firewalld - dynamic firewall daemon
>    Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
>    Active: active (running) since 二 2016-12-20 02:12:59 CST; 1 day 13h ago
>  Main PID: 10379 (firewalld)
>    CGroup: /system.slice/firewalld.service
>            └─10379 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
<br>$ firewall-cmd --state<br>
running  ip

# 以防新端口不生效,先把 22 端口暴露
$ firewall-cmd --permanent --zone=public --add-port=22/tcp
$ firewall-cmd --permanent --zone=public --add-port=1111/tcp
success  rem

重載防火牆

$ firewall-cmd --reload

查看暴露端口規則

$ firewall-cmd --permanent --list-port

443/tcp 80/tcp 22/tcp 1111/tcp  
$ firewall-cmd --zone=public --list-all
  public (default, active)  
  interfaces: eth0 eth1
  sources:
  services: dhcpv6-client ssh
  ports: 443/tcp 80/tcp 22/tcp 1111/tcp
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:<br>
退出 ssh 後,嘗試鏈接新端口

$ ssh -p 1111 root@example.com
成功登陸的話,就能夠作收尾工做了。

禁用 22 端口<br>
刪除 ssh 容許端口<br>
$ vi /etc/ssh/sshd_config
#Port 22
Port 1111 
$ systemctl restart sshd

# 用 ss 命令檢查 ssh 監聽的端口,沒有 22 證實修改爲功
$ ss -tnlp | grep ssh
LISTEN     0      128                       *:1111                    :<br>      users:(("sshd",18233,3))  
防火牆移除 22 端口
$ firewall-cmd --permanent --zone=public --remove-port=22/tcp
success  
$ firewall-cmd --reload
$ firewall-cmd --permanent --list-port 443/tcp 80/tcp 1111/tcp   ssh 取消監聽 22 端口,就已經配置好了,防火牆只不過是在 ssh 外多一層訪問限制。若是要作的更好還能夠將 22 端口的訪問流量轉向訪問者本地:

相關文章
相關標籤/搜索