配置文件/etc/ssh/sshd_config;
找到#Port 22这一行;
默认被注释了;
打开注释;
然后把数字改为任何 1024 – 65535 之间的任何数字;
保存退出后重启sshd;
systemctl restart sshd.service
ShellCopy然后是设定防火墙,CentOS 7 的内核已经有防火墙 netfilter,但你的系统未必安装了用户界面,较前版本的 CentOS 默认使用 iptables,但 CentOS 7 开始使用效能更高、稳定性更好的 firewalld,若果服务器尚未安装firewalld,可以使用以下指令安装,不确定是否已经安装的话也可以输入这个指令,它会告诉你已经安装然后退出。
yum install firewalld
ShellCopy跟着启动:
systemctl start firewalld
ShellCopy设定 firewalld 的方法有两个,第一个是修改 firewalld 有关 sshd 的设定,把端口 22 改为 10837,这是正统的做法,但步骤比较多;第二个是要求 firewalld 开启端口 10837,不指定它属于哪一个服务,这个做法通常处理临时的端口开启/封锁,步骤简单,但是日后你要是忘记了这个端口为什么开启了呢?什么时候开启的呢?为了哪一项服务开启呢?可能有点麻烦。我两种方法都会介绍一下,但作为专业的系统管理员(即使不是真正的专业,也应该具备这样的心态),我推荐使用第一种方法。
设定防火墙方法一:
复制 firewalld 有关 sshd 的设定档案:
cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/
ShellCopy使用 vim (或任何文本编辑器) 开启 /etc/firewalld/services/ssh.xml,寻找:
<port protocol="tcp" port="22"/>
RubyCopy修改为:
<port protocol="tcp" port="10837"/>
RubyCopy储存后重新加载 firewalld:
firewall-cmd --reload
ShellCopy设定防火墙方法二:
输入以下指令:
firewall-cmd --zone=public --add-port=10837/tcp --permanent
ShellCopy就是这样简单!
不论使用哪种方法,完成后不要登出系统,使用另一个视窗尝试登入,例如:
ssh -p 10837 ahhang@192.168.1.188