废话不多说,先通过当前的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

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

ssh 将22端口换为其它 防火墙设置的更多相关文章

  1. Linux下Tomcat端口、进程以及防火墙设置

     Linux下Tomcat端口.进程以及防火墙设置 1,查看tomcat进程: #ps -aux | grep tomcat(或者ps -ef | grep tomcat都行) 可以看到现在运行着两个 ...

  2. LINUX 修改SSH默认22端口的方法

    首先修改配置文件 vi /etc/ssh/sshd_config 找到#Port 22一段,这里是标识默认使用22端口,修改为如下: Port 22 Port 50000 然后保存退出 执行/etc/ ...

  3. linux服务器修改ssh默认22端口方法

    1.登录服务器,打开sshd_config文件 # vim /etc/ssh/sshd_config 2.找到#Port 22,默认是注释掉的,先把前面的#号去掉,再插入一行设置成你想要的端口号,注意 ...

  4. 修改ssh的22端口

    将ssh22端口修改为12345 https://www.cnblogs.com/chen-lhx/p/3974605.html # iptables开放12345端口iptables -I INPU ...

  5. Linux(例如CentOS 7)打开TCP 22端口,基于SSH协议

    SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定:SSH 为建立在应用层和传输层基础上的安全协议.SSH 是目前较可靠,专 ...

  6. ssh更改默认端口号及实现免密码远程登陆

    近来在复习防火墙管理工具 iptables 的基本使用方法,涉及到对端口添加或删除防火墙策略的内容,之前对ssh更改默认端口号及免密码登录的方法不熟悉,这次做一个基本的总结防止自己遗忘. 错误偏差及其 ...

  7. centos 7 已经开启 22 端口但无法连接

    已经开启 22 端口但无法连接 刚买的 vps ,默认 ssh 端口是 29488, 使用以下方式连接ssh -p 29488 root@x.x.x.x觉得加端口有点麻烦, 希望使用默认的 22 端口 ...

  8. 流量操控之SSH隧道与端口转发

    目  录 第1章            概述... 3 1.1.         实现命令... 3 1.2.         SSH隧道类型... 3 第2章            SSH隧道... ...

  9. Linux防火墙设置——iptables

    防火墙用于监控往来流量,并根据用户定义的规则来过滤数据包以保证安全.iptables是Linux下设置防火墙规则的常用工具,它可以让你设置.维护以及查看防火墙的规则表.你可以定义多个表,每个表可以包含 ...

随机推荐

  1. nested exception is org.apache.ibatis.reflection.ReflectionExceptio

    org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.Reflecti ...

  2. Redis学习笔记--Redis数据过期策略详解==转

    本文对Redis的过期机制简单的讲解一下 讲解之前我们先抛出一个问题,我们知道很多时候服务器经常会用到redis作为缓存,有很多数据都是临时缓存一下,可能用过之后很久都不会再用到了(比如暂存sessi ...

  3. 【转】利用python的KMeans和PCA包实现聚类算法

    转自:https://www.cnblogs.com/yjd_hycf_space/p/7094005.html 题目: 通过给出的驾驶员行为数据(trip.csv),对驾驶员不同时段的驾驶类型进行聚 ...

  4. 在Qt项目中如何添加一个已有的项目作为子项目

    新建一个子目录项目(具体方法参见<类似Visual Studio一样,使用Qt Creator管理多个项目,创建子项目>),然后需要添加的项目移动到该子目录项目目录下,再在其pro文件中添 ...

  5. Echo团队Alpha冲刺随笔 - 第四天

    项目冲刺情况 进展 前端:完成了差不多一半,小程序部分界面基本完工,WEB端也完成了一部分 后端:也完成了大半了 问题 后端文件上传还没解决 心得 进度还行,团队配合都还不错 今日会议内容 黄少勇 今 ...

  6. B类——Stas and the Queue at the Buffet

    http://codeforces.com/contest/1151/problem/D 题意: n个学生,每个学生都有自己的位置,最后要使

  7. node 文件操作

    对文件的各种操作,使用姿势如下 文件操作单例 @example fu.exist(file); //是否存在 fu.copy(file, 'new-path'); //复制到某个新目录 fu.move ...

  8. JSON构造/解析(by C)---cJSON和json-c

    背景 JSON即JavaScript Object Notation,是一种轻量级的数据交换格式. JSON建构于两种结构: "名称/值"对的集合(A collection of ...

  9. [01-01] 示例:用Java爬取新闻

    1.分析url <空港双流>数字报刊,访问地址为:http://epaper.slnews.net.cn,现在为了抓取每篇新闻的网页内容. 在浏览器访问该链接后,发现链接出现了变化,看样子 ...

  10. odoo 10.0部署shell

    环境ubuntu16+nginx+python2.7.12+postgresql9.5+odoo 10.0 community #!/bin/bash #author:guoyihot@outlook ...