CentOS 开启 SSH 服务详细指南
SSH(Secure Shell)是一种用于远程登录和管理服务器的安全协议,在 CentOS 系统中,通过开启和配置 SSH 服务,可以实现对系统的远程访问和操作,本文将详细介绍如何在 CentOS 上安装、配置和启动 SSH 服务,并确保其在系统重启后自动启动。
安装 OpenSSH 服务
1、检查是否已安装 OpenSSH
打开终端并以 root 用户身份登录。
输入以下命令以检查是否已安装 OpenSSH 服务:
yum list installed | grep opensshserver
如果没有任何输出,表示未安装 OpenSSH 服务。
2、安装 OpenSSH 服务
如果未安装 OpenSSH 服务,可以使用以下命令进行安装:
yum install opensshserver y
该命令会自动解决依赖关系并完成安装过程。
配置 SSH 服务
1、编辑 SSH 配置文件
使用 Vim 编辑器打开 SSH 服务的配置文件:
vim /etc/ssh/sshd_config
找到以下配置项并根据需要进行修改:
Port 22 # 监听端口为 22 ListenAddress 0.0.0.0 # 监听地址为所有 IP 地址 Protocol 2 # 使用 SSH v2 版本 UseDNS no # 禁用 DNS 反向解析,提高响应速度
如果需要更改监听端口号,可以将Port
后面的数字改为所需的端口号,将端口号改为 2222:
Port 2222
2、允许远程登录
确保以下配置项被正确设置以允许远程登录:
PermitRootLogin yes # 允许 root 用户登录(注意:存在安全风险) PasswordAuthentication yes # 使用密码验证方式
如果希望禁止 root 用户直接登录,可以将PermitRootLogin
设置为no
,并通过普通用户登录后切换到 root:
PermitRootLogin no
3、保存并退出
在 Vim 中,按下Esc
键,然后输入:wq
并回车以保存文件并退出编辑器。
启动 SSH 服务
1、启动 SSH 服务
输入以下命令以启动 SSH 服务:
sudo systemctl start sshd
2、检查 SSH 服务状态
输入以下命令以检查 SSH 服务是否成功启动:
sudo systemctl status sshd
如果显示active (running)
,则表示 SSH 服务已成功启动。
3、设置 SSH 服务开机自启动
为确保 SSH 服务在系统重启后自动启动,可以将其添加到开机自启动列表中:
sudo systemctl enable sshd
再次检查自启动状态:
sudo systemctl listunitfiles | grep sshd
如果显示enabled
,则表示 SSH 服务已设置为开机自启动。
防火墙配置
1、开放 SSH 端口
如果系统启用了防火墙,需要开放 SSH 使用的端口(默认为 22),输入以下命令以开放 SSH 端口:
sudo firewallcmd addservice=ssh permanent
然后重新加载防火墙规则:
sudo firewallcmd reload
测试 SSH 连接
1、从本地主机测试连接
在本地终端中,输入以下命令以测试 SSH 连接:
ssh root@localhost
如果连接成功,将提示输入密码,输入正确的密码后即可登录到远程主机。
2、从远程主机测试连接
在另一台计算机上,打开终端并输入以下命令以连接到 CentOS 主机(假设 IP 地址为192.168.1.100
):
ssh root@192.168.1.100
如果连接成功,同样会提示输入密码,输入正确的密码后即可登录到远程主机。
FAQs
Q1: 如何更改 SSH 服务的监听端口?
A1: 要更改 SSH 服务的监听端口,请编辑/etc/ssh/sshd_config
文件,将Port
后面的数字改为所需的端口号,将端口号改为 2222:
Port 2222
然后保存文件并重启 SSH 服务:
sudo systemctl restart sshd
Q2: 如何禁止 root 用户通过 SSH 登录?
A2: 要禁止 root 用户通过 SSH 登录,请编辑/etc/ssh/sshd_config
文件,将PermitRootLogin
设置为no
:
PermitRootLogin no
然后保存文件并重启 SSH 服务:
sudo systemctl restart sshd
这样,root 用户将无法直接通过 SSH 登录,但可以通过普通用户登录后切换到 root。