CentOS 设置 SSH 登录

SSH(Secure Shell)是一种网络协议,用于计算机之间的安全通信和数据传输,在CentOS系统中,设置SSH登录是远程管理服务器的基本要求,本文将详细介绍如何在CentOS系统中设置SSH登录,包括安装SSH服务、配置SSH客户端和服务器,以及一些常见的安全设置。
安装SSH服务
在CentOS系统中,可以通过以下命令安装SSH服务:
sudo yum install openssh-server
配置SSH客户端
检查SSH客户端安装:
在大多数Linux发行版中,SSH客户端默认已经安装,可以通过以下命令检查:
ssh -V
如果安装了SSH客户端,该命令将显示客户端的版本信息。
生成SSH密钥对:
为了提高安全性,建议使用SSH密钥对进行认证,而不是密码,以下命令将生成一个SSH密钥对:
ssh-keygen -t rsa -b 4096
按照提示输入文件保存路径和密码。
将公钥添加到服务器:

将生成的公钥文件(通常位于
~/.ssh/id_rsa.pub复制到服务器的~/.ssh/authorized_keys文件中,可以通过以下命令完成:ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@服务器地址
配置SSH服务器
编辑SSH配置文件:
使用以下命令编辑SSH服务器的配置文件:
sudo nano /etc/ssh/sshd_config
修改配置参数:
根据需要修改以下参数:
PermitRootLogin: 设置为no以禁止root用户直接登录。PasswordAuthentication: 设置为no以禁用密码认证。UsePAM: 设置为no以禁用PAM认证。AllowUsers或DenyUsers: 用于限制或允许特定用户登录。
重启SSH服务:
保存并关闭配置文件后,重启SSH服务以应用更改:
sudo systemctl restart sshd
常见安全设置
限制SSH登录尝试次数:
编辑
/etc/login.defs文件,设置MAX_LOGIN_ATTEMPTS参数:
MAX_LOGIN_ATTEMPTS 3
使用防火墙规则:
在CentOS系统中,可以使用firewalld来限制SSH服务的访问:
sudo firewall-cmd --permanent --add-port=22/tcp sudo firewall-cmd --reload
FAQs
Q1:如何查看SSH服务器的IP地址?
A1: 可以使用以下命令查看SSH服务器的IP地址:
ip a
或者
ifconfig
Q2:如何备份SSH配置文件?
A2: 可以使用以下命令备份SSH配置文件:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
这将在/etc/ssh目录下创建一个名为sshd_config.bak的备份文件。
