一、为什么要修改SFTP默认端口
用默认22端口搞SFTP就像把家门钥匙插在锁眼上——谁都能来试试手气。黑客们成天扫描22端口,改端口能直接筛掉90%的自动化攻击。上周还有个客户没改端口,结果被暴力破解,订单数据全泄露了。改端口前切记做好两件事:先用netstat -tulnp | grep :22确认当前端口状态;再用sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak备份配置文件,手滑改崩了还能救回来。

二、五步搞定端口修改
实操比想象中简单,跟着走别眨眼:
- 用
sudo vi /etc/ssh/sshd_config打开配置文件 - 找到
#Port 22这行,删掉#号改成新端口(比如2222) - 重点!在隔壁补上
ListenAddress 0.0.0.0:2222,否则可能监听失败 - 保存后
sudo systemctl restart sshd重启服务 - 立刻开新窗口测试连接,老窗口别关!避免把自己锁门外
# 测试命令示例
sftp -P 2222 user@192.168.1.100
三、防火墙的坑你踩过几个
改完端口连不上?八成是防火墙在作妖。看这两招:
| 防火墙类型 | 解决命令 | 注意事项 |
|---|---|---|
| FirewallD | sudo firewall-cmd –permanent –add-port=2222/tcp sudo firewall-cmd –reload |
完成后用firewall-cmd --list-ports复查 |
| iptables | sudo iptables -A INPUT -p tcp –dport 2222 -j ACCEPT sudo service iptables save |
CentOS 7以下版本需手动保存规则 |
去年帮客户排查时发现,他明明开了端口还是连不上,原来是被云平台安全组拦截——阿里云/腾讯云的控制台也得单独配置!
四、SELinux这个隐藏BOSS
端口放行了还是报错?多半是SELinux在搞事情。运维老鸟都在这栽过跟头:
- 先看状态:
getenforce显示Enforcing就得处理 - 加端口白名单:
sudo semanage port -a -t ssh_port_t -p tcp 2222 - 改完必须
sudo systemctl restart sshd重启服务
曾有个工程师改了三天没搞定,最后发现是少执行semanage命令,气得直接关了SELinux——千万别学!这等于拆了防盗门。
五、故障排查救命三招
半夜接到报警别慌,按这个顺序查:
- 看服务状态:
systemctl status sshd找”Active: active”字样 - 查实时日志:
sudo tail -f /var/log/secure盯Connection refused错误 - 测端口通断:本地
telnet 127.0.0.1 2222,通就是网络问题
上周有用户死活连不上,日志显示”Permission denied”,结果是/home/sftpuser目录权限设成777触发SELinux拦截——记住权限千万别超过755!
六、高手进阶配置技巧
要想既安全又高效,这三招拿去:
- 多端口监听:在sshd_config加多个Port参数,新旧端口共存过渡
- 密钥登录:改
PasswordAuthentication no彻底杜绝撞库 - 限制用户目录:用
ChrootDirectory锁死用户活动范围
# 目录锁定配置示例
Subsystem sftp internal-sftp
Match Group sftponly
ChrootDirectory /data/%u
ForceCommand internal-sftp
记住改完一定用sshd -t测语法,有个哥们漏了个字母导致整个部门无法登录。
走完这全套,你的SFTP就稳如老狗了。最后提醒:改端口不是一劳永逸,记得定期查/var/log/secure看有没有异常登录记录,安全这事儿永远别嫌麻烦。
内容均以整理官方公开资料,价格可能随活动调整,请以购买页面显示为准,如涉侵权,请联系客服处理。
本文由星速云发布。发布者:星速云。禁止采集与转载行为,违者必究。出处:https://www.67wa.com/149933.html