HCRM博客

如何在CentOS上安装和配置OpenSSH?

CentOS 7 安装和配置 OpenSSH

一、

OpenSSH 是一个实现 SSH(Secure Shell)协议的开源项目,它提供了加密的网络连接工具,用于远程登录和其他网络服务,在 CentOS 7 上安装和配置 OpenSSH 可以确保安全的远程访问和管理服务器,本文将详细介绍如何在 CentOS 7 上安装、配置和优化 OpenSSH。

如何在CentOS上安装和配置OpenSSH?-图1
(图片来源网络,侵权删除)

二、安装前准备

1. 检查系统中是否已安装 OpenSSH

rpm qa | grep openssh

如果返回类似opensshserverx.x.xx.el7.x86_64的结果,说明系统已经安装了 OpenSSH,如果没有安装,继续下一步。

2. 更新系统软件包

sudo yum update y

三、安装 OpenSSH 服务器

1. 安装 OpenSSH 服务器

sudo yum install y opensshserver

2. 启动并启用 OpenSSH 服务

sudo systemctl start sshd
sudo systemctl enable sshd

四、配置 OpenSSH

1. 备份现有配置文件

如何在CentOS上安装和配置OpenSSH?-图2
(图片来源网络,侵权删除)
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

2. 编辑配置文件/etc/ssh/SSHD_config

sudo vi /etc/ssh/sshd_config

根据需求修改以下参数:

Port: 设置 SSH 监听端口,默认为22。Port 2222

ListenAddress: 绑定地址,默认为0.0.0.0,表示监听所有网络接口。

PermitRootLogin: 是否允许 root 用户登录,可选值为yes,no,prohibitpassword,forcedcommandsonly,建议设置为no以提高安全性。

PasswordAuthentication: 是否允许密码认证,可选值为yesno,建议设置为no以强制使用密钥认证。

如何在CentOS上安装和配置OpenSSH?-图3
(图片来源网络,侵权删除)

PubkeyAuthentication: 是否启用公钥认证,建议设置为yes

AuthorizedKeysFile: 指定存储公钥的文件路径,默认为/home/username/.ssh/authorized_keys

示例配置:

Port 2222
ListenAddress 0.0.0.0
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
AuthorizedKeysFile /home/username/.ssh/authorized_keys

3. 重启 OpenSSH 服务使配置生效

sudo systemctl restart sshd

五、优化 OpenSSH 安全性

1. 修改 SSH 端口号

为了提高安全性,可以将默认的 SSH 端口22改为一个不常用的端口号,编辑/etc/ssh/sshd_config 文件,找到并修改Port参数。

2. 禁用 root 用户登录

编辑/etc/ssh/sshd_config 文件,找到并修改PermitRootLogin参数:

PermitRootLogin no

3. 禁止密码认证,强制使用密钥认证

编辑/etc/ssh/sshd_config 文件,找到并修改以下参数:

PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

4. 配置防火墙放行新端口

如果更改了 SSH 端口号,需要配置防火墙放行新的端口号:

sudo firewallcmd permanent addport=2222/tcp
sudo firewallcmd reload

5. 设置防火墙允许特定IP或子网访问

sudo firewallcmd permanent addrichrule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="2222" accept'
sudo firewallcmd reload

六、测试 OpenSSH 配置

1. 使用本地终端测试连接

ssh p 2222 localhost

2. 使用远程机器测试连接

在远程机器上打开终端,输入以下命令进行连接:

ssh p 2222 user@your_server_ip

注意替换your_server_ip 为服务器的实际IP地址。

七、常见问题及解决方案

问题1:无法连接到服务器

解答:首先检查服务器上的 SSH 服务状态是否正常:

sudo systemctl status sshd

如果服务未运行,尝试重新启动:

sudo systemctl restart sshd

然后检查防火墙设置是否正确放行了端口。

问题2:密码认证失败

解答:确认/etc/ssh/sshd_config 文件中的PasswordAuthentication参数设置为yes,并且用户有正确的密码,建议查看服务器日志/var/log/secure 获取更多信息。

通过上述步骤,可以在 CentOS 7 上成功安装和配置 OpenSSH,确保安全的远程访问和管理服务器,优化 SSH 配置和定期更新是保持系统安全的重要措施。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/16370.html

分享:
扫描分享到社交APP
上一篇
下一篇