Appearance
6. SSH 服务配置
本章节指导在 RHEL 8.10(主机名 ZSLinux)上使用 SecureCRT 配置 SSH 服务,配合 SecureFX 传输配置文件。内容涵盖两种登录方式:密码登录(适合临时访问)和 密钥登录(适合自动化和高安全性场景),包括端口修改、禁用 root 登录和密码登录等配置,全面实用,适合初学者快速掌握和运维人员日常维护。所有操作在 ZSLinux 环境中测试,确保实验一致性。
6.1 前提条件
- RHEL 8.10 已安装(参考第 1 章),主机名设置为
ZSLinux. - 使用 SecureCRT 登录(SSH2 协议,端口 22,虚拟机 IP).
- 使用 SecureFX 传输文件(SFTP 协议).
- SSH 服务(
sshd)已安装(RHEL 8 默认包含,或使用dnf install -y openssh-server安装). - 防火墙已允许 SSH(参考第 1 章).
6.2 SSH 配置
6.2.1 密码登录配置
- 启动并启用
sshd服务(默认支持密码登录):bashsystemctl enable --now sshd # 启用并启动 SSH 服务 - 修改 SSH 端口和禁用 root 登录(提高安全性):bash
vim /etc/ssh/sshd_config # 编辑 SSH 配置文件 # 修改或添加以下行: Port 2222 PermitRootLogin no systemctl restart sshd # 重启 SSH 服务 - 更新防火墙以支持新端口:bash
firewall-cmd --permanent --add-port=2222/tcp # 允许端口 2222 firewall-cmd --permanent --remove-service=ssh # 移除默认端口 22 firewall-cmd --reload # 应用防火墙规则
6.2.2 密钥登录配置
- 生成密钥对(在客户端,如本地机器):bash
ssh-keygen -t rsa -b 2048 # 生成 RSA 密钥对 # 按 Enter 接受默认设置 - 复制公钥到
ZSLinux:- 方法 1:使用
ssh-copy-id:bashssh-copy-id -p 2222 user@ZSLinux # 复制公钥到 ZSLinux(替换 user 为用户名) - 方法 2:使用 SecureFX 手动传输:bash
# 使用 SecureFX 连接 ZSLinux(SFTP,端口 2222) # 上传 ~/.ssh/id_rsa.pub 到 ZSLinux 的 ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys # 设置正确权限
- 方法 1:使用
- 禁用密码登录(仅允许密钥登录):bash
vim /etc/ssh/sshd_config # 编辑 SSH 配置文件 # 修改或添加以下行: PasswordAuthentication no systemctl restart sshd # 重启 SSH 服务
6.3 验证
- 检查 SSH 服务状态:bash
systemctl status sshd # 检查 SSH 服务状态 - 验证密码登录(若未禁用密码登录):bash
ssh -p 2222 user@ZSLinux # 使用密码登录(替换 user 为用户名) # 应提示输入密码 ssh -p 2222 root@ZSLinux # 尝试 root 登录,应被拒绝 - 验证密钥登录:bash
ssh -p 2222 user@ZSLinux # 测试免密登录 # 应无需密码直接登录 - 常见问题:
- 连接失败:检查
sshd服务状态、端口 2222 或防火墙设置。 - 免密登录失败:确认公钥已正确复制到
~/.ssh/authorized_keys并设置权限(chmod 600)。
- 连接失败:检查
6.4 实践任务
- 使用 SecureCRT 登录
ZSLinux,启用并启动sshd服务。 - 配置
/etc/ssh/sshd_config,设置端口 2222 和禁用 root 登录。 - 使用
ssh-copy-id或 SecureFX 设置密钥登录。 - 禁用密码登录并测试免密连接。
6.5 自测问题
- 问题:如何更改 SSH 端口为 2222?
- 答案:编辑
/etc/ssh/sshd_config,设置Port 2222,运行systemctl restart sshd和firewall-cmd --permanent --add-port=2222/tcp。
- 答案:编辑
- 问题:如何使用 SecureFX 设置密钥登录?
- 答案:上传
id_rsa.pub到~/.ssh/authorized_keys,运行chmod 600 ~/.ssh/authorized_keys。
- 答案:上传
- 问题:如何禁用 SSH 密码登录?
- 答案:编辑
/etc/ssh/sshd_config,设置PasswordAuthentication no,运行systemctl restart sshd.
- 答案:编辑
