許多學習過redhat 7的同窗們,在使用centos的時候總會遇到一些問題,由於centos在安裝時會默認開啓一些服務,今天咱們就來更改下centos 7.0的SSH端口。centos
操做步驟:ssh
遠程登陸到centos 7.0終端;tcp
修改 /etc/ssh 文件夾中的 sshd_config文件學習
在文件中找到#Port 22這一行centos7
刪除#Port 22 前面的#號,使用默認的22端口
增長一行Port 3333,爲SSH服務增長3333端口
(如需更多端口,按此格式逐行添加便可,若是隻是把默認22端口修改成3333端口,那就刪除Port 22這一行,添加Port 3333便可)3d
保存文件後,使用rest
systemctl restart sshd.service
重啓sshd服務code
(redhat 7.0 此時就能夠收工了)blog
使用3333端口鏈接發現,並不能鏈接終端設備,並且部分版本的centos(好比centos7.4)在重啓sshd服務時會有這樣一個報錯信息rem
Job for sshd.service failed because the control process exited with error code.
See 「systemctl status sshd.service」 and 「journalctl -xe」 for details.
使用
systemctl status sshd.service
命令查看sshd狀態時發現,3333端口綁定失敗,沒有生效,提示查看SELinux服務
使用
/usr/sbin/sestatus -v
命令,查看SELinux服務狀態,發現狀態爲已開啓
而後咱們再使用
semanage port -l | grep ssh
命令查看當前ssh服務的端口,發現只有22端口並無咱們剛剛添加的3333端口
這時咱們須要使用
semanage port -a -t ssh_port_t -p tcp 3333
命令向 SELinux 中添加 ssh 端口
再次使用
semanage port -l | grep ssh
命令查看當前ssh服務的端口,發現3333端口已經添加成功
這個時候咱們使用
systemctl status sshd.service
命令,發現此時3333端口已經在偵聽狀態。
到此時咱們的工做尚未結束,部分忍不住的同窗,已經去使用SSH遠程了,發現仍是鏈接不上,那是由於默認啓用的firwall阻止了3333端口的鏈接。
使用
firewall-cmd –list-all
命令看到,在ports一行中沒有剛剛咱們添加的3333,
這個時候咱們須要使用
firewall-cmd –zone=public –add-port=3333/tcp –permanent
命令,將端口號添加到防火牆的例外規則中
(–permanent永久生效,沒有此參數重啓後失效)
添加完規則後,須要對防火牆重啓載入使其規則生效,
firewall-cmd –reload
再次使用
firewall-cmd –list-all
命令發如今ports中已經多了一個端口3333tcp鏈接被例外
這個時候再使用3333端口進行遠程鏈接,即可成功登錄系統。
到此時,整個過程完成!
打完收工!
備註:
/usr/sbin/sestatus -v //查看SELinux狀態 semanage port -l | grep ssh //查詢當前 ssh 服務端口 semanage port -a -t ssh_port_t -p tcp 3333 //向 SELinux 中添加 ssh 端口 systemctl restart sshd.service //重啓ssh服務 firewall-cmd –list-all //查看防火牆列表 firewall-cmd –zone=public –list-ports //查看全部打開的端口 firewall-cmd –zone=public –add-port=3333/tcp –permanent //添加端口號(–permanent永久生效,沒有此參數重啓後失效) firewall-cmd –reload //從新載入防火牆 firewall-cmd –zone= public –query-port=3333/tcp //查看該端口是否在規則內 firewall-cmd –zone= public –remove-port=3333/tcp –permanent //刪除端口號