SSH登录centos
掌握 CentOS SSH 服务的配置与管理
能使用客户端工具远程连接 CentOS 服务器
学会处理防火墙、端口等常见连接问题
核心讲解
生产环境的服务器都放在机房 / 云端,没有显示器键盘,全部通过 SSH 远程连接操作,这是 CentOS 最常用的使用方式。
(1)SSH 服务说明
CentOS 最小化安装默认预装openssh-server,并且默认开机自启,服务名是sshd(注意:Ubuntu 是 ssh,CentOS 是 sshd)。 默认端口:22
(2)远程连接前提
服务器 SSH 服务正常运行
服务器 IP 地址可访问,网络连通
防火墙开放 22 端口(CentOS 默认 firewalld 已开放 ssh 服务)
拥有账号密码
(3)客户端工具
Windows:FinalShell、Xshell、Putty,推荐 FinalShell,界面友好,支持文件传输
macOS / Linux:系统自带 ssh 命令,终端直接用
(4)防火墙基础操作
CentOS 7 默认使用 firewalld 防火墙,这是和 Ubuntu 很大的区别:
查看状态:
systemctl status firewalld临时关闭:
systemctl stop firewalld永久关闭:
systemctl disable firewalld开放端口:
firewall-cmd --add-port=22/tcp --permanent
操作示例
# ===== 服务器端配置 =====
# 1. 查看SSH服务状态
systemctl status sshd
# 显示 active (running) 就是正常运行
# 2. 查看本机IP地址
ip addr
# 找到ens33网卡的inet地址,例如 192.168.1.100
# 3. 查看防火墙状态
firewall-cmd --state
# 查看已开放的服务
firewall-cmd --list-services
# 默认已包含ssh,所以22端口默认通
# 4. 如需修改SSH端口,配置后要重启服务并开放防火墙端口
# vi /etc/ssh/sshd_config
# 修改Port字段,保存后 systemctl restart sshd
# ===== 客户端连接 =====
# Linux/macOS 终端
ssh root@192.168.1.100
# 首次连接提示确认,输入yes
# 输入root密码即可登录
# Windows:打开FinalShell
# 新建SSH连接:主机填IP,端口22,用户名root,输入密码
# 连接成功即可远程操作
常见误区
服务名记错:CentOS 的 SSH 服务叫 sshd,不是 ssh,管理服务的时候别写错
防火墙拦截:云服务器除了系统防火墙,还要在控制台安全组开放 22 端口
网络不通直接怪 SSH:先 ping IP,通了再排查 SSH 服务和防火墙
root 远程登录不安全:生产环境建议禁止 root 远程登录,用普通用户登录再提权
修改端口不更新防火墙:改了 SSH 端口一定要在防火墙里开放新端口,否则连不上
课后练习
查看 CentOS 中 sshd 服务的运行状态和开机自启状态
使用 SSH 客户端工具,远程连接你的 CentOS 服务器
尝试修改 SSH 端口为 2222,配置防火墙并验证连接
思考:为什么生产环境不建议用 22 默认端口?

