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
上一篇
下一篇