linux修改ssh端口

該教程是目前最安全的教程,若是你是新手請嚴格按照教程的步驟進行,若是是有必定基礎的人能夠選擇性跳過某些段落php

修改端口配置

先運行python

  1. vim /etc/ssh/sshd_config


找到#Port 22 這行而後去掉前面的註釋,而後再下面加一行 Port 1234linux

Port 22  
Port 1234

  1. 不少教程是直接修改22爲其餘端口,最好不要這樣作,萬一修改的端口不能用,你就徹底登錄不上了,因此先留一條後路vim


 修改防火牆配置


修改iptables(linux 的防火牆)文件:centos

  1. vim /etc/sysconfig/iptables


增長一行安全

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 1813 -j ACCEPT


關閉防火牆

而後關閉防火牆ssh

  1. service iptables stop  tcp


關閉SELinux

重要:先關閉SELinux,不少教程沒有提到這點,由於SElinux 默認的防禦等級是很高的,若是不關閉SElinux就會出現不少問題ide

  1. vim /etc/sysconfig/selinux


將SELINUX=enforcing 這行修改成 SELINUX=disabled 而後重啓測試

測試鏈接

重啓好後運行命令 :

  1. netstat -tpnl | grep ssh

會看到同時有兩個端口打開

  1. [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配置

若是正常再進行下面的步驟:修改selinux

剛剛裝好的centos是沒有semanage命令的,因此請先確認semanage命令是否存在,若是沒有,就按照下面的教程安裝

  1. # 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端口:

  1. semanage port -l | grep ssh


會輸出

  1. ssh_port_t                     tcp      22


添加1234端口到 SELinux

  1. semanage port -a -t ssh_port_t -p tcp 1234


重要:而後確認一下是否添加進去

  1. semanage port -l | grep ssh


若是成功會輸出

  1. ssh_port_t                     tcp      1234, 22


開啓SELinux較低安全等級

而後去修改SELinux策略,從新打開它,可是咱們先修改成permissive這種安全等級不會攔截你的修改,只是提示警告

  1. vim /etc/sysconfig/selinux

修改安全等級

  1. SELINUX=permissive


而後reboot重啓

重要:重啓好以後再一次用新端口測試遠程鏈接

開啓SELinux正常安全等級

重啓好以後用新的端口測試鏈接

若是測試經過修改 SELINUX=enforcing, 而後重啓,由於前面說過不少次修改的方式,這邊就不貼代碼了

重啓以後再一次用新端口測試遠程鏈接

後續清理步驟

若是均可以的話,恭喜你,成功的配置好新端口,而後你能夠本身進行把22端口從sshd_config中刪除,把22端口從防火牆中刪除等步驟

相關文章
相關標籤/搜索