如何在CentOS上设置SSH服务?

作者:IT技术圈子 阅读:6 日期:2025年07月17日

在CentOS上设置SSH服务(OpenSSH)通常包括安装SSH服务器、配置服务以及管理用户访问权限。以下是详细步骤:

如何在CentOS上设置SSH服务?

CentOS 7及更高版本通常默认已经安装了OpenSSH服务器。如果没有安装,你可以使用以下命令进行安装:

```bash sudo yum install openssh-server -y ```

安装完成后,启动SSH服务并设置其在系统启动时自动启动:

```bash sudo systemctl start sshd sudo systemctl enable sshd ```

你可以检查SSH服务的状态以确保它正在运行:

```bash sudo systemctl status sshd ```

SSH服务的配置文件位于`/etc/ssh/sshd_config`。你可以使用文本编辑器(如`vi`或`nano`)来编辑该文件。例如:

```bash sudo vi /etc/ssh/sshd_config ```

在配置文件中,你可以调整各种设置,例如:

  • `Port 22`:指定SSH服务监听的端口号(默认是22)。
  • `PermitRootLogin no`:禁止root用户通过SSH登录(为了安全起见,建议禁用)。
  • `PasswordAuthentication no`:禁用密码认证,启用公钥认证(为了增强安全性)。
  • 修改配置文件后,重启SSH服务以应用更改:

    ```bash sudo systemctl restart sshd ```

    如果你的系统启用了防火墙(如`firewalld`),你需要确保SSH端口(默认是22)是开放的。

    ```bash sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --reload ```

    为了增强安全性,建议使用SSH密钥对认证而不是密码认证。

    生成SSH密钥对

    在客户端机器上生成SSH密钥对(如果还没有):

    ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ```

    按提示操作,通常默认设置即可。生成的公钥和私钥分别位于`~/.ssh/id_rsa.pub`和`~/.ssh/id_rsa`。

    将公钥复制到服务器

    将生成的公钥复制到服务器的`~/.ssh/authorized_keys`文件中:

    ```bash ssh-copy-id user@server_ip ```

    替换`user`为你的用户名,`server_ip`为服务器的IP地址。

    现在,你可以尝试通过SSH连接到服务器:

    ```bash ssh user@server_ip ```

    如果配置正确,你应该能够成功登录到服务器而无需输入密码(如果你使用了密钥对认证)。

    你可以使用标准的Linux用户管理工具(如`useradd`、`usermod`、`passwd`)来管理用户的访问权限。

    例如,创建一个新用户并设置密码:

    ```bash sudo useradd newuser sudo passwd newuser ```

    然后,为该用户配置SSH密钥对认证(如上所述)。

    以上步骤涵盖了在CentOS上设置SSH服务的基本流程,包括安装、配置、启动服务和管理用户访问权限。根据你的具体需求,你可能需要调整一些配置或添加额外的安全措施。

      END