如何在CentOS 7上安装并启用OpenSSH
如果您想在CentOS 7上启用OpenSSH,那么您来对地方了。在本文中,我们将介绍在您的CentOS 7机器上安装和启用OpenSSH所需的步骤。我们还将了解使用OpenSSH的一些好处以及如何根据您的需求对其进行配置。
什么是OpenSSH?
OpenSSH是一种安全外壳协议,用于在网络上建立两台计算机之间的安全连接。它是安全外壳(SSH)协议的开源版本,广泛用于为服务器和其他网络设备提供安全的远程访问。
OpenSSH通过加密在客户端和服务器之间传输的所有数据来提供访问远程计算机的安全方式。这意味着客户端和服务器之间的所有通信都是私密的,并且不会被第三方拦截。
为什么要使用OpenSSH?
使用OpenSSH具有以下几个优点:−
安全性 − OpenSSH使用强大的加密算法来保护您的数据。
远程访问 − OpenSSH允许您安全地访问远程服务器。
可移植性 − OpenSSH可在各种操作系统上使用,使其成为通用的工具。
身份验证 − OpenSSH提供多种身份验证方法,以确保安全访问您的远程服务器。
在CentOS 7上安装OpenSSH
在CentOS 7上启用OpenSSH之前,我们需要先安装它。方法如下:−
步骤1:更新系统
在安装OpenSSH之前,我们需要更新系统以确保我们拥有最新的软件包和安全更新。为此,请打开终端并输入以下命令:−
sudo yum update
此命令将把系统上的所有软件包更新到最新版本。
步骤2:安装OpenSSH
系统更新后,我们可以继续安装OpenSSH。要安装OpenSSH,请输入以下命令:−
sudo yum install openssh-server
此命令将在您的系统上安装OpenSSH服务器。
步骤3:启动OpenSSH服务
现在OpenSSH已安装,我们需要启动OpenSSH服务才能使其接受传入连接。要启动OpenSSH服务,请输入以下命令:−
sudo systemctl start sshd
此命令将在您的系统上启动OpenSSH服务。
步骤4:启用OpenSSH
最后,我们需要启用OpenSSH,以便每次启动系统时它都能自动启动。为此,请输入以下命令:−
sudo systemctl enable sshd
此命令将在您的系统上启用OpenSSH服务。
配置OpenSSH
现在OpenSSH已安装并启用,我们可以根据需要对其进行配置。以下是一些您可能会发现有用的配置选项:−
更改端口
默认情况下,OpenSSH侦听22端口。但是,最好将其更改为其他端口以提高安全性。为此,请打开SSH配置文件:−
sudo vi /etc/ssh/sshd_config
找到显示#Port 22的行,并将其更改为您所需的端口。例如,如果您想将其更改为2222端口,则应输入:−
Port 2222
保存文件并重新启动SSH服务:−
sudo systemctl restart sshd
禁用密码身份验证
另一种提高安全性的方法是禁用密码身份验证,而改用公钥身份验证。为此,请打开SSH配置文件:−
sudo vi /etc/ssh/sshd_config
找到显示#PasswordAuthentication yes的行,并将其更改为`PasswordAuthentication no`。然后,找到显示#PubkeyAuthentication yes的行,并删除`#`符号以取消注释。保存文件并重新启动SSH服务:−
sudo systemctl restart sshd
现在,您需要生成SSH密钥对并将公钥添加到您的服务器。这可以使用您本地计算机上的ssh-keygen命令完成。
允许或限制SSH访问
您可能希望将SSH访问限制为某些用户或IP地址。为此,您可以在SSH配置文件中使用AllowUsers、DenyUsers、AllowGroups和DenyGroups选项。例如,要只允许名为jdoe的用户访问,请将以下行添加到配置文件:−
AllowUsers jdoe
要拒绝名为jsmith的用户访问,请添加以下行:−
DenyUsers jsmith
您还可以根据IP地址允许或拒绝访问。例如,要只允许来自特定IP地址的访问,请添加以下行:−
Match Address 192.168.1.100 AllowUsers jdoe
这将只允许用户jdoe从IP地址192.168.1.100访问服务器。
使用强密码或公钥身份验证
设置OpenSSH时,务必使用强密码或公钥身份验证,以防止未经授权访问您的系统。避免使用易于猜测的密码,并考虑使用密码管理器来生成和存储强密码。
使用防火墙规则限制访问
为了进一步增强安全性,您可以使用防火墙规则来限制对系统的访问。例如,您可以使用firewalld服务阻止除您明确允许的IP地址以外的所有IP地址对SSH端口的传入连接。
禁用root登录
默认情况下,OpenSSH允许通过SSH进行root登录。但是,最好禁用此功能,而改用普通用户帐户。要禁用root登录,请打开SSH配置文件并找到显示PermitRootLogin yes的行。将其更改为PermitRootLogin no,然后重新启动SSH服务。
监控SSH日志以查找可疑活动
监控SSH日志可以帮助您检测可疑活动和潜在的安全漏洞。您可以使用journalctl或grep等工具来搜索失败的登录尝试、异常登录模式以及其他恶意活动的迹象。
保持OpenSSH更新
最后,务必使用最新的安全补丁和更新来保持OpenSSH的更新。CentOS 7通过yum包管理器提供定期更新,因此请确保定期运行sudo yum update以确保系统的安全。
使用双因素身份验证
双因素身份验证(2FA)是一种强大的安全措施,它为您的OpenSSH服务器增加了额外的保护层。启用2FA后,用户除了需要提供密码外,还需要提供第二个因素,例如令牌或生物识别数据,才能访问系统。即使攻击者获得了用户的密码,这也会使他们更难以未经授权访问您的服务器。
为SSH密钥设置密码短语
如果您决定使用SSH密钥进行身份验证,最好为您的密钥添加密码短语。密码短语是用于加密SSH密钥的秘密短语或句子。这为您的密钥增加了额外的安全层,并使攻击者更难以使用您的密钥未经授权访问您的服务器。
限制失败登录尝试次数
OpenSSH提供了一个选项,可以在阻止IP地址之前限制失败登录尝试的次数。这有助于防止暴力破解攻击,并使攻击者更难以猜测密码。要设置此项,请打开SSH配置文件并添加以下行:−
MaxAuthTries 3
这将把失败登录尝试的次数限制为3次,然后阻止IP地址。
考虑使用堡垒主机
如果您正在管理多台服务器,最好使用堡垒主机作为您其他系统的网关。堡垒主机是专用服务器,它提供进入您网络的安全入口点。通过使用堡垒主机,您可以限制进入您网络的入口点数量,并降低未经授权访问的风险。
定期查看访问日志
最后,务必定期查看您的访问日志,以检测任何可疑活动或安全漏洞。查看日志可以帮助您识别活动模式并识别潜在的安全风险。确保将日志保存在安全位置,并且只允许授权人员访问。
结论
在CentOS 7上启用OpenSSH是一个简单的过程。安装后,OpenSSH提供了一种安全且通用的方法来访问您的远程服务器。通过配置OpenSSH以满足您的需求,您可以进一步提高安全性,并确保只有授权用户才能访问您的服务器。
请记住,始终使用最新的安全补丁更新您的系统,并在保护服务器方面遵循最佳实践。