zoukankan      html  css  js  c++  java
  • ssh 将22端口换为其它 防火墙设置

    废话不多说,先通过当前的SSH端口(默认为:22)登陆。
     
    1、修改配置文件:/etc/ssh/sshd_config ,找到

    #port 22


    2、先将Port 22 前面的 # 号去掉,并另起一行。如定义SSH端口号为33322,则输入
    Port 33322
    自定义端口选择建议在万位的端口(如:10000-65535之间)


    也许您会问为什么要先把port 22前面的 # 去掉呢?因为在配置文件中,# 是Linux的注释字符。注释字符后的代码程序是不会执行的。SSH默认的(即非手动指定)端口为22,所以配置文件在默认的情况下以注释字符出现。当需要指定其它端口或多端口同时访问时,就要删掉注释符号,告知程序按照您的意愿来执行响应操作。
    以上操作,手动指定SSH端口为22和33322(双端口号),保留22是为了防止个别防火墙屏蔽了其它端口导致无法连接VPS(如没单独指定22,新指定的33322端口防火墙也没放行,那么可能无法通过SSH连接VPS或服务器)。为了防止不必要问题的产生,所以要给自己保留条“后路”。
    3、修改完毕后,重启SSH服务,并退出当前连接的SSH端口。(如图)

    service sshd restart

    CentOS下SSH默认端口22修改成其他端口


    4、重启完毕,尝试使用新端口登陆
    连接成功,需要重新添加SSH-RSA验证,点击是(或Yes)即可。
    5、若能正常访问,返回第一步,根据第二步的操作将原port 22整段注释或删掉,再按第三步重启SSH即可。
    以上步骤重启后使用默认22号端口无法进入SSH,达到目的。


    【请注意】:


    如果您启用了防火墙iptables,那么必须先添加新开的33322端口

    补充:iptables开放端口端示例

       为了方便举例说明,飘易就直接拿来一段我的现有服务器上运行的防火墙iptables内容。
     
        请注意:后面的注释说明文字:
    # Firewall configuration written by system-config-firewall
    # Manual customization of this file is not recommended.
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT # (ssh端口)
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT # (web端口)
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT # (ftp端口)
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 20000:30000 -j ACCEPT # (ftp被动模式端口范围)
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT # (mysql端口)
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT
        修改完防火墙iptables后,需要重新启动:
    /etc/init.d/iptables restart

    或者
    service iptables restart
        注意:iptables配置文件存放位置是:/etc/sysconfig/iptables
        保存命令:service iptables save
        使用命令:iptables -L -n 可以查看当前iptables的开放端口情况。
        iptables服务开机自动启动:
        
    chkconfig iptables on

        检查iptables服务:
       
    # chkconfig --list iptables
      iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off

        上面开放的端口后面都有注明,有一个要注意的地方,就是FTP端口,FTP的默认端口21肯定要开放,但是一般的ftp软件都是默认先尝试几次被动模式PASV连接,在PASV模式连接失败后,才会进行主动模式PORT连接。
        如果我们仅仅开放21端口,这里就有问题了。FTP PASV模式下,还会随机使用一个空闲端口,这个端口范围在20000-30000之间。所以,我们需要把这个端口范围加入防火墙:
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 20000:30000 -j ACCEPT

        关于FTP的PASV被动模式和PORT主动模式的说明:
        FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。
        FTP协议有两种工作方式:PORT方式(主动)和PASV方式(被动),中文意思为主动式和被动式。
    Port模式:
    ftp server:tcp 21 <------client:dynamic
    ftp server:tcp 20 ------>client:dynamic
    Pasv模式:
    ftp server:tcp 21 <----client:dynamic
    ftp server:tcp dynamic <----client:dynamic
        port模式和pasv模式区别:
        1、port模式:这种模式的FTP网管人员比较轻松,但兼容性较差,比如假如客户端在局域网内就会无法登录FTP服务器。假如有人无法使用port模式登录FTP的话,作为FTP治理员来说,你无论如何努力都是没有用的。因为这时问题症结在对方客户端的防火墙或网关。所以对于一个FTP服务器来说,尽量要使用pasv模式。
    2、pasv模式:这种模式的FTP兼容性好,但对FTP治理员来说有一定挑战性,而且设置的情况比较复杂,以下举例均以有防火墙的情况来说明:
    我们仅以服务器在公网上的情况举例:
    这是最理想的情况。21端口当然要首先开放,然后再作如下设置:
        windows系统下serv-u服务器:
    本地服务器——设置——高级,在"pasv端口端口范围"中填入一段不与其它端口冲突的范围,如3001-3020,然后在防火墙中开放3001-3020的端口。
        Linux系统下PureFTPd服务器:
    把端口20000-30000加入到iptables允许端口范围。
        如果你没有设置防火墙允许ftp pasv模式下的端口,那么在客户端使用ftp软件连接服务器的时候,将会出现类似以下的连接过程:
    [右] PASV
    [右] 227 Entering Passive Mode (42,51,100,50,110,83)
    [右] 正在打开数据连接 IP: 42.51.100.50 端口: 28243
    [右] 数据 Socket 错误: 没有到主机的通道
    [右] 列表 错误
    [右] PASV
    [右] 227 Entering Passive Mode (42,51,100,50,116,60)
    [右] 正在打开数据连接 IP: 42.51.100.50 端口: 29756
    [右] 数据 Socket 错误: 没有到主机的通道
    [右] 列表 错误
    [右] PASV 模式失败,正在尝试 PORT  模式。
    [右] 侦听于端口: 16585,正在等候连接。
    [右] PORT 192,168,1,6,64,201
    [右] 200 PORT command successful
    [右] MLSD
    [右] 150 Connecting to port 16585
    [右] 226-Options: -a -l 
    [右] 226 3 matches total
    [右] 列表完成: 316 字节 于 0.11 秒 (2.7 KB/秒)
    [右] PORT  模式已成功,请更新站点配置文件中的数据连接。
        从上面的ftp返回的信息,我们可以轻易的看出,ftp先进行了2次pasv被动模式连接,由于20000-30000之间的端口范围没有开放,所以pasv模式连接失败,最后进行了port主动模式连接才成功。
        但是正如我们上面所说,ftp port模式兼容性差,假如客户端在局域网内就会无法登录FTP服务器。所以,我们还是应该配置ftp服务器端的pasv被动模式下的端口。

    使用iptables开启或关闭指定端口,举例如下:

    linux系统下,81端口一般情况下是关闭的。

    开启81端口:  

    代码如下: iptables -I INPUT -i eth0 -p tcp --dport 81 -j ACCEPT
    iptables -I OUTPUT -o eth0 -p tcp --sport 81 -j ACCEPT

    关闭81端口:  

    代码如下: iptables -I INPUT -i eth0 -p tcp --dport 81 -j DROP
    iptables -I OUTPUT -o eth0 -p tcp --sport 81 -j DROP

    文章出处:http://www.cnblogs.com/aaron-agu/ 只有毅力和决心才能使人真正具有价值!
  • 相关阅读:
    HttpClient入门三
    Centos常用命令之:压缩与解压缩
    Centos常用命令之:搜索
    Centos常用命令之:ln
    Centos常用命令之:VI
    HttpClient入门二
    NX二次开发-UFUN确定两个向量在指定的公差内是否相等(二维向量)UF_VEC2_is_equal
    NX二次开发-UFUN确定两个向量在指定的公差内是否相等(三维向量)UF_VEC3_is_equal
    NX二次开发-NXOPEN C#UF创建块theUfSession.Modl.CreateBlock1
    NX二次开发-NXOpen C# UF函数例子目录【更新日期2020.7.21】
  • 原文地址:https://www.cnblogs.com/aaron-agu/p/5745773.html
Copyright © 2011-2022 走看看