許多學習過redhat 7的同學們,在使用centos的時候總會遇到一些問題,因為centos在安裝時會預設開啟一些服務,今天我們就來更改下centos 7.0的SSH埠。 操作步驟: 遠程登錄到centos 7.0終端; 修改 /etc/ssh 文件夾中的 sshd_config文件 在文件中找 ...
許多學習過redhat 7的同學們,在使用centos的時候總會遇到一些問題,因為centos在安裝時會預設開啟一些服務,今天我們就來更改下centos 7.0的SSH埠。
操作步驟:
遠程登錄到centos 7.0終端;
修改 /etc/ssh 文件夾中的 sshd_config文件
在文件中找到#Port 22這一行
刪除#Port 22 前面的#號,使用預設的22埠
增加一行Port 3333,為SSH服務增加3333埠
(如需更多埠,按此格式逐行添加即可,如果只是把預設22埠修改為3333埠,那就刪除Port 22這一行,添加Port 3333即可)
保存文件後,使用
systemctl restart sshd.service
重啟sshd服務
(redhat 7.0 此時就可以收工了)
使用3333埠連接發現,並不能連接終端設備,而且部分版本的centos(比如centos7.4)在重啟sshd服務時會有這樣一個報錯信息
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 //刪除埠號