有的网络策略限制了ssh的默认端口22,但是迁移ssh端口比较危险,万一失败,就可能导致服务器无法连接,就需要运维到机器现场去修复(有的云厂商也提供VLC连接方法)。因为不能完全确定新端口是否会被拦截,所以一开始可以保留22端口,同时用新端口开启第二个sshd服务,这样就可以确保新端口工作后,再关闭22端口。
准备配置文件:sshd-second_config、sshd-second.service
- 复制配置文件
cp /etc/ssh/sshd_config /etc/ssh/sshd-second_config
- 修改端口
echo "Port 50001" >> sshd-second_config
- 创建systemd服务
cp /usr/lib/systemd/system/sshd.service /etc/systemd/system/sshd-second.service
- 修改服务配置
vim /etc/systemd/system/sshd-second.service
- 修改描述:Description
Description=OpenSSH server second instance daemon
- 指定配置文件
ExecStart=/usr/sbin/sshd -D -f /etc/ssh/sshd-second_config $OPTIONS
加载服务
- 加载sshd-second服务
systemctl daemon-reload
- 开机启动
systemctl enable sshd-second.service --now
防火墙开启
代码语言:javascript复制# 对局域网开放端口50001
iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 50001 -j ACCEPT
# 保存配置
iptables-save
参考
- How to configure multiple instances of sshd in RHEL 7 or 8?