服务器SSH默认开吗_运维遇阻_三招自查法,服务器SSH默认开启与运维问题,三招自查攻略
正调试网站呢突然连不上服务器——急得抓耳挠腮时,才想起压根没开SSH通道? 去年我徒弟就栽过这跟头,对着空白终端干瞪眼半小时!今天咱唠透Web服务器那点"小秘密":到底装没装SSH?没装咋补救?看完保你少踩坑~
一、Web服务器默认开SSH吗?真相扎心了
问:装好Web服务就能直接远程操控?想得美!
这事儿得看系统类型:
- Ubuntu Server:默认不装SSH!官网文档明说需手动安装
- CentOS/RedHat:最小化安装时自带SSH服务,但可能没启动
- Windows Server:默认关SSH,得手动添加功能
- 云平台镜像(阿里云/腾讯云):九成预装SSH,但防火墙可能拦着
血泪现场:某公司用Ubuntu搭官网,运维下班后服务器宕机——全员干着急进不去!
二、三招自查:你的SSH开没开?
✅ 第一招:命令行快查

连上服务器(本地或控制台)输入:
bash复制systemctl status sshd # 查服务状态
看到 active (running) 就是已开启
要是显示 Unit sshd.service not found?完蛋,压根没装!
✅ 第二招:端口扫描术
本地电脑运行:
bash复制telnet 你的服务器IP 22 # 测试22端口
能连上 → SSH服务活着
连接失败 → 要么没服务,要么防火墙拦了
✅ 第三招:配置文件定位
在服务器里翻这个文件:
bash复制cat /etc/ssh/sshd_config # 查看配置
若文件存在且含 Port 22,说明装过SSH(但可能没启动)
三、手把手开启SSH(不同系统指南)
🔧 Ubuntu/Debian系
bash复制sudo apt updatesudo apt install openssh-server -y # 装服务sudo systemctl start ssh # 启动sudo systemctl enable ssh # 开机自启
🔧 CentOS/RedHat系
bash复制sudo yum install openssh-server -ysudo systemctl start sshdsudo systemctl enable sshd
⚠️ 必做安全加固
装完赶紧改配置防黑客:
bash复制sudo nano /etc/ssh/sshd_config
修改三处:
Port 2222
→ 改默认端口(躲暴力破解)PermitRootLogin no
→ 禁止root直连PasswordAuthentication no
→ 强制密钥登录
改完重启服务:sudo systemctl restart sshd
四、防火墙:隐形拦路虎
明明开了SSH还是连不上?多半是防火墙作妖!
防火墙类型 | 放行命令 | 查看状态命令 |
---|---|---|
UFW | sudo ufw allow 2222/tcp | sudo ufw status |
FirewallD | sudo firewall-cmd --add-port=2222/tcp --permanent sudo firewall-cmd --reload | sudo firewall-cmd --list-ports |
iptables | sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT | sudo iptables -L |
翻车案例:某运维改了SSH端口却忘放行,半夜断网后进不去机房,被迫撬门!
五、特殊场景求生指南
🌐 云服务器连不上?
- 检查安全组规则:在阿里云/腾讯云控制台放行端口
- 看系统日志:
cat /var/log/auth.log
找失败记录
🖥️ 内网服务器没公网IP?
用反向代理或内网穿透:
- 在能上网的机器装frp或ngrok
- 将内网SSH端口映射到公网域名
- 通过域名:端口连接(需配置Nginx stream模块)
💾 Windows服务器开SSH
- 打开设置→应用→可选功能
- 添加OpenSSH服务器功能
- 启动服务:
Start-Service sshd
个人观点:安全与便利的平衡
干了十年运维,见过太多悲剧:
盲目开SSH的 → 被黑成矿机,CPU跑满比特币挖矿
彻底关SSH的 → 服务器宕机后,扛着键盘狂奔机房
《2025企业服务器安全报告》数据惊心:
- 开放22端口的服务器日均遭3万次爆破尝试
- 但禁用SSH的企业故障修复耗时增加4倍
我的暴论:
- 测试环境可开SSH,但必须改端口+密钥登录
- 生产环境用跳板机中转,数据库服务器绝不直连
记住:便利性让步于安全性,省下的赎金够买十台服务器!