CentOS 配置 SSH 的详细步骤

SSH 简介
SSH(Secure Shell)是一种网络协议,用于计算机之间的安全通信和数据传输,SSH 允许用户通过安全的加密连接登录到远程服务器,进行命令行操作,在 CentOS 系统中,SSH 是一种常用的远程登录和管理工具。
配置 SSH 的步骤
安装 SSH 服务
在 CentOS 系统中,可以通过以下命令安装 SSH 服务:
sudo yum install openssh-server
启动 SSH 服务
安装完成后,需要启动 SSH 服务并设置为开机自启:
sudo systemctl start sshd sudo systemctl enable sshd
修改 SSH 配置文件
SSH 的配置文件位于 /etc/ssh/ 目录下,主要文件有 sshd_config 和 ssh_config,以下是对 sshd_config 文件的一些常用配置:
Port:指定 SSH 服务的端口号,默认为 22。PermitRootLogin:允许 root 用户登录,设置为yes或no。PasswordAuthentication:允许使用密码登录,设置为yes或no。StrictModes:严格检查文件的权限,设置为yes。
编辑 sshd_config 文件:
sudo vi /etc/ssh/sshd_config
修改完成后,保存并退出。

重启 SSH 服务
修改配置文件后,需要重启 SSH 服务使更改生效:
sudo systemctl restart sshd
设置用户权限
为了提高安全性,建议为用户创建单独的 SSH 密钥对,并设置正确的权限:
# 生成 SSH 密钥对 ssh-keygen -t rsa -b 2048 # 将公钥复制到远程服务器 ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@远程服务器IP
验证 SSH 连接
在本地终端,使用以下命令尝试连接到远程服务器:
ssh 用户名@远程服务器IP
如果一切配置正确,您应该能够成功登录到远程服务器。
SSH 配置高级选项
配置 SSH 密钥认证
使用 SSH 密钥认证可以提高安全性,以下是如何配置 SSH 密钥认证的步骤:
- 在本地计算机上生成 SSH 密钥对。
- 将公钥复制到远程服务器的用户目录下。
- 修改
/etc/ssh/sshd_config文件,将PasswordAuthentication设置为no。
配置 SSH 客户端

- 在客户端计算机上配置 SSH 客户端,使其能够使用密钥认证。
- 编辑
~/.ssh/config文件,添加以下内容:
Host 远程服务器别名
HostName 远程服务器IP
User 用户名
IdentityFile ~/.ssh/id_rsa 使用 SSH 客户端连接
使用以下命令连接到远程服务器:
ssh 远程服务器别名
FAQs
Q1:为什么我无法通过 SSH 连接到远程服务器?
A1:可能的原因有:
- SSH 服务未启动或未设置为开机自启。
/etc/ssh/sshd_config文件配置错误。- 网络连接问题。
- 密钥认证配置错误。
Q2:如何修改 SSH 密钥文件的权限?
A2:使用以下命令修改 SSH 密钥文件的权限:
chmod 600 ~/.ssh/id_rsa chmod 644 ~/.ssh/id_rsa.pub
通过以上步骤,您可以在 CentOS 系统中成功配置 SSH 服务,并实现远程登录和管理。
