該教程是目前最安全的教程,若是你是新手請嚴格按照教程的步驟進行,若是是有必定基礎的人能夠選擇性跳過某些段落php
先運行python
vim /etc/ssh/sshd_config
找到#Port 22 這行而後去掉前面的註釋,而後再下面加一行 Port 1234linux
Port 22 Port 1234
不少教程是直接修改22爲其餘端口,最好不要這樣作,萬一修改的端口不能用,你就徹底登錄不上了,因此先留一條後路vim
修改iptables(linux 的防火牆)文件:centos
vim /etc/sysconfig/iptables
增長一行安全
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 1813 -j ACCEPT
而後關閉防火牆ssh
service iptables stop tcp
重要:先關閉SELinux,不少教程沒有提到這點,由於SElinux 默認的防禦等級是很高的,若是不關閉SElinux就會出現不少問題ide
vim /etc/sysconfig/selinux
將SELINUX=enforcing 這行修改成 SELINUX=disabled 而後重啓測試
重啓好後運行命令 :
netstat -tpnl | grep ssh
會看到同時有兩個端口打開
[root@localhost ~]# netstat -tpnl | grep ssh tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1497/sshd tcp 0 0 0.0.0.0:1234 0.0.0.0:* LISTEN 1497/sshd tcp 0 0 :::22 :::* LISTEN 1497/sshd tcp 0 0 :::1234 :::* LISTEN 1497/sshd
重要:這時測試一下新端口可否鏈接經過
若是正常再進行下面的步驟:修改selinux
剛剛裝好的centos是沒有semanage命令的,因此請先確認semanage命令是否存在,若是沒有,就按照下面的教程安裝
# rpm -qa | grep semanag libsemanage-2.0.43-4.2.el6.x86_64 # which semanage /usr/bin/which: no semanage in (/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin) # yum provides /usr/sbin/semanage policycoreutils-python-2.0.83-19.30.el6.x86_64 : SELinux policy core python utilities Repo : base Matched from: Filename : /usr/sbin/semanage # yum whatprovides /usr/sbin/semanage Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile * base: mirrors.prometeus.net * epel: mirror.switch.ch * extras: mirrors.prometeus.net * rpmfusion-free-updates: rpmfusion.famillecollet.com * rpmfusion-nonfree-updates: rpmfusion.famillecollet.com * updates: mirrors.prometeus.net policycoreutils-python-2.0.83-19.30.el6.x86_64 : SELinux policy core python utilities Repo : base Matched from: Filename : /usr/sbin/semanage # yum -y install policycoreutils-python
完成以後,使用如下命令查看當前SElinux 容許的ssh端口:
semanage port -l | grep ssh
會輸出
ssh_port_t tcp 22
添加1234端口到 SELinux
semanage port -a -t ssh_port_t -p tcp 1234
重要:而後確認一下是否添加進去
semanage port -l | grep ssh
若是成功會輸出
ssh_port_t tcp 1234, 22
而後去修改SELinux策略,從新打開它,可是咱們先修改成permissive這種安全等級不會攔截你的修改,只是提示警告
vim /etc/sysconfig/selinux
修改安全等級
SELINUX=permissive
而後reboot重啓
重要:重啓好以後再一次用新端口測試遠程鏈接
重啓好以後用新的端口測試鏈接
若是測試經過修改 SELINUX=enforcing, 而後重啓,由於前面說過不少次修改的方式,這邊就不貼代碼了
重啓以後再一次用新端口測試遠程鏈接
若是均可以的話,恭喜你,成功的配置好新端口,而後你能夠本身進行把22端口從sshd_config中刪除,把22端口從防火牆中刪除等步驟