##环境:
CentOS7.2 64位
##步骤:
###远程连接并登录到 Linux 实例。
运行 vim /etc/ssh/sshd_config命令。
在键盘上按 I 键,进入编辑状态。将 22 端口修改成目标端口,本节以 1022 端口为例。在Port 22下输入Port 1022。
在键盘上按 ESC,输入:wq退出编辑状态。
###重启实例
执行 systemctl restart sshd.service命令,重启实例,之后您可以通过 22 端口和 1022 端口 SSH 登录到 Linux 实例。
/etc/init.d/sshd restart(错误)
[root@ecs2018 bin]# /etc/init.d/sshd restart
-bash: /etc/init.d/sshd: No such file or directory
[root@ecs2018 bin]# service sshd restart(错误)
Redirecting to /bin/systemctl restart sshd.service
[root@ecs2018 bin]# systemctl restart sshd.service(正确)
云服务器 ECS Linux CentOS 7 下重启服务不再通过 service 操作,而是通过 systemctl 操作。
查看:systemctl status sshd.service
启动:systemctl start sshd.service
重启:systemctl restart sshd.service
自启:systemctl enable sshd.service
###(可选)配置防火墙。
使用 CentOS 7 以前的版本并开启默认防火墙 iptables 时,应注意 iptables 默认不拦截访问,如果您配置了 iptables 规则,需要执行iptables -A INPUT -p tcp --dport 1022 -j ACCEPT配置防火墙。然后执行service iptables restart 重启防火墙。
说明:CentOS 7 以后版本默认安装 Firewalld。如果您已经启用 firewalld.service,需要放行 TCP 1022 端口:运行命令 firewall-cmd —add-port=1022/tcp —permanent。返回结果为 success 即表示已经放行 TCP 1022 端口。
###安全组配置
登录 ECS 管理控制台,找到该实例,选择管理。
进入实例详情页面。选择本实例安全组。
在安全组列表页面,找到相应的安全组,单击配置规则。
在安全组规则页面,单击添加安全组规则。根据实际的使用场景来定义安全规则,允许新配置的远程端口进行连接。关于如何设置安全组参见添加安全组规则。
使用 SSH 工具连接新端口,来测试是否成功。登录时在 Port 一栏输入新修改的端口号,在本例中即 1022。
###再次重启实例
使用 1022 端口连接成功后,再次运行vim /etc/ssh/sshd_config命令,将 Port 22 删除。
运行systemctl restart sshd.service命令重启实例,服务器默认远程端口修改完成。再次登录时使用新端口号登录即可。
##注意
请不要直接对 22 端口进行修改。之所以先设置成两个端口,测试成功后再关闭一个端口,是为了防止在修改配置文件及网络调试过程中,万一出现新端口无法连接的情况下,还能通过 22 端口进行登录调试。