(图片来源网络,侵删)
前言
在进行远程管理或文件传输时,SSH(Secure Shell)是一种非常常见的协议。它提供了加密的通信通道,使得我们可以安全地远程登录到服务器进行操作。本文将详细介绍在 CentOS 上安装 SSH 服务的步骤和相关配置。
安装 SSH 服务
1. 安装 OpenSSH 包:
(图片来源网络,侵删)
在 CentOS 上,默认情况下并不会预装 SSH 服务。我们需要通过以下命令安装 OpenSSH 包:
# yum install openssh-server
2. 启动 SSH 服务:
(图片来源网络,侵删)
安装完成后,我们需要启动 SSH 服务,并设置为开机自启动。使用以下命令启动 SSH 服务:
# systemctl start sshd
我们还需设置 SSH 服务开机自启动:
# systemctl enable sshd
3. 配置 SSH 服务:
SSH 服务的主要配置文件为 "/etc/ssh/sshd_config"。我们可以使用文本编辑器(如 nano 或 vi)打开该文件,根据需要进行相关配置。以下是一些常见的配置项:
- Port:指定 SSH 服务监听的端口,默认为 22。
- PermitRootLogin:设置是否允许 root 用户通过 SSH 登录,默认为 yes。
- PasswordAuthentication:设置是否允许使用密码进行身份验证,默认为 yes。
- PubkeyAuthentication:设置是否允许使用公钥进行身份验证,默认为 yes。
- AllowUsers:限制可以通过 SSH 登录的用户列表。
4. 重启 SSH 服务:
在修改完 SSH 配置文件后,我们需要重启 SSH 服务使配置生效。使用以下命令重启 SSH 服务:
# systemctl restart sshd
CentOS 上 SSH 安全配置
为了提高 SSH 服务的安全性,我们可以采取一些额外的配置措施。
1. 禁止 root 用户远程登录:
在 "/etc/ssh/sshd_config" 文件中,将 "PermitRootLogin" 配置项设置为 "no",禁止 root 用户通过 SSH 远程登录。这样可以减少暴力破解的风险。
2. 使用公钥进行身份验证:
禁用密码身份验证,只允许使用公钥进行身份验证。在 "/etc/ssh/sshd_config" 文件中,将 "PasswordAuthentication" 配置项设置为 "no",并确保 "PubkeyAuthentication" 配置项为 "yes"。
3. 使用非标准端口:
将 SSH 服务监听的端口改为非标准端口,可以减少被扫描和攻击的可能性。在 "/etc/ssh/sshd_config" 文件中,将 "Port" 配置项修改为其他端口号。
4. 使用防火墙保护:
使用 CentOS 自带的防火墙(firewalld)或其他防火墙工具,限制 SSH 服务的访问。只允许特定的 IP 地址或 IP 地址段访问 SSH 服务。
为您分享
在 Ubuntu 中,我们可以使用 "apt" 命令来管理软件包。通过以下命令可以更新系统中的所有软件包: