当前位置:首页 > 行业动态 > 正文

Alma Linux中的SSH服务如何配置

SSH服务概述

SSH(Secure Shell)是一种网络协议,用于安全地在不安全的网络上执行命令和管理服务器,Alma Linux,作为CentOS的一个分支,继续支持SSH作为远程管理和安全通信的重要工具。

准备工作

在进行SSH服务的配置之前,确保已经安装了SSH服务器软件包,可以通过以下命令安装:

sudo dnf install opensshserver

安装完成后,SSH服务默认监听端口为22。

配置文件解析

SSH的主要配置文件位于/etc/ssh/sshd_config,以下是一些常见配置项及其含义:

配置项 描述
Port 指定SSH服务器监听的端口号
ListenAddress 指定SSH服务器监听的IP地址
PermitRootLogin 允许root用户通过SSH登录(yes/no)
PasswordAuthentication 是否允许密码认证(yes/no)
PubkeyAuthentication 是否允许公钥认证(yes/no)
AuthorizedKeysFile 存储用户公钥的文件路径
AllowUsers 允许登录的用户列表
AllowGroups 允许登录的用户组列表
DenyUsers 拒绝登录的用户列表
DenyGroups 拒绝登录的用户组列表

基本配置步骤

1. 修改SSH端口

为了避免默认端口的攻击,建议更改SSH服务的默认端口,编辑sshd_config文件,将Port改为其他值,例如2222:

sudo vi /etc/ssh/sshd_config
找到 Port 22 并修改为 Port 2222

2. 禁止root登录

出于安全考虑,禁止root用户直接通过SSH登录是一个好习惯,设置PermitRootLoginno

sudo vi /etc/ssh/sshd_config
找到 PermitRootLogin yes 并修改为 PermitRootLogin no

3. 启用公钥认证

公钥认证比密码认证更安全,确保PubkeyAuthentication设置为yes

sudo vi /etc/ssh/sshd_config
确保 PubkeyAuthentication yes

4. 重启SSH服务

完成上述更改后,需要重启SSH服务以使配置生效:

sudo systemctl restart sshd

高级配置选项

使用防火墙限制访问

如果系统中有防火墙(如firewalld),需要确保SSH端口是开放的:

sudo firewallcmd addport=2222/tcp permanent
sudo firewallcmd reload

生成SSH密钥对

对于公钥认证,需要在客户端生成SSH密钥对,并将公钥复制到服务器上的~/.ssh/authorized_keys文件中,以下是在客户端生成密钥对的命令:

sshkeygen t rsa

使用sshcopyid命令将公钥复制到服务器:

sshcopyid i ~/.ssh/id_rsa.pub user@your_server_ip

相关问答FAQs

Q1: 如何允许特定用户通过SSH登录?

A1: 可以在sshd_config文件中使用AllowUsers配置项来指定允许登录的用户列表。

AllowUsers alice bob

这将只允许用户alice和bob通过SSH登录。

Q2: 如果忘记了SSH密码,如何重置?

A2: 如果SSH配置为允许密码认证,并且你有root权限,可以通过以下步骤重置用户密码:

1、使用root账户登录到服务器。

2、使用passwd命令重置用户密码:

passwd user_name

如果SSH配置为禁止密码认证,只能通过其他方式(如控制台或IPMI)重置密码。

0