温馨提示×

CentOS系统中如何使用SSH安全登录

小樊
45
2025-12-31 11:52:27
栏目: 智能运维

在CentOS系统中,使用SSH(Secure Shell)安全登录可以通过以下步骤实现:

1. 安装SSH服务器

首先,确保你的CentOS系统上已经安装了SSH服务器。如果没有安装,可以使用以下命令进行安装:

sudo yum install openssh-server

2. 启动并启用SSH服务

安装完成后,启动SSH服务并设置为开机自启:

sudo systemctl start sshd
sudo systemctl enable sshd

3. 配置SSH服务器

编辑SSH配置文件 /etc/ssh/sshd_config 来进行一些安全设置。例如,你可以更改默认的SSH端口、禁用root登录、限制用户登录等。

sudo vi /etc/ssh/sshd_config

以下是一些常见的安全配置选项:

  • 更改默认端口

    Port 2222
    
  • 禁用root登录

    PermitRootLogin no
    
  • 限制用户登录

    AllowUsers your_username
    
  • 使用公钥认证: 确保 PubkeyAuthentication yes 并配置 AuthorizedKeysFile

4. 重启SSH服务

修改配置文件后,重启SSH服务以应用更改:

sudo systemctl restart sshd

5. 生成SSH密钥对

在客户端机器上生成SSH密钥对(如果还没有的话)。使用以下命令生成密钥对:

ssh-keygen -t rsa -b 4096

按照提示操作,通常会生成两个文件:id_rsa(私钥)和 id_rsa.pub(公钥)。

6. 将公钥复制到服务器

将生成的公钥复制到服务器的 ~/.ssh/authorized_keys 文件中。可以使用 ssh-copy-id 命令来简化这个过程:

ssh-copy-id -p 2222 your_username@your_server_ip

输入服务器用户的密码,公钥就会被添加到服务器的 authorized_keys 文件中。

7. 使用SSH密钥登录

现在,你可以使用SSH密钥登录到服务器,而不需要每次都输入密码:

ssh -p 2222 your_username@your_server_ip

8. 防火墙设置

确保服务器的防火墙允许SSH连接。如果你使用的是 firewalld,可以添加一个规则来允许SSH端口(例如2222):

sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload

9. 使用SSH代理(可选)

为了进一步提高安全性,可以使用SSH代理(如 ssh-agent)来管理你的SSH密钥。

eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa

通过以上步骤,你可以在CentOS系统中使用SSH安全登录,并采取一些额外的安全措施来保护你的SSH连接。

0