HCRM博客

如何正确配置CentOS系统中的SSH服务?

SSH配置 CentOS

SSH服务

SSH(Secure Shell)是一种用于计算机之间安全连接的协议,主要用于远程登录和文件传输,在CentOS系统中,SSH服务默认通过opensshserver软件包提供,本文将详细介绍如何在CentOS系统上安装、配置和启动SSH服务。

如何正确配置CentOS系统中的SSH服务?-图1
(图片来源网络,侵权删除)

安装SSH服务

1、检查是否已安装SSH服务

打开终端,使用以下命令检查是否已经安装了opensshserver

```bash

yum list installed | grep opensshserver

```

如果显示结果中包含opensshserver,则说明已经安装,如果没有,请继续下一步。

如何正确配置CentOS系统中的SSH服务?-图2
(图片来源网络,侵权删除)

2、安装SSH服务

如果未安装,使用以下命令进行安装:

```bash

sudo yum install y opensshserver

```

安装完成后,SSH服务会自动启动。

如何正确配置CentOS系统中的SSH服务?-图3
(图片来源网络,侵权删除)

配置SSH服务

1、编辑配置文件

使用vivim编辑器打开SSH服务的配置文件:

```bash

sudo vi /etc/ssh/sshd_config

```

配置文件中的常用选项包括:

PermitRootLogin:是否允许root用户通过SSH登录,建议设置为no以提高安全性。

PermitEmptyPasswords:是否允许空密码登录,建议设置为no

PasswordAuthentication:是否允许使用密码验证,建议设置为yes

Port:SSH服务的端口号,默认为22,可以根据需要更改。

2、重启SSH服务

保存并关闭配置文件后,使用以下命令重启SSH服务以使更改生效:

```bash

sudo systemctl restart sshd

```

防火墙设置

1、开放SSH端口

使用firewallcmd命令开放SSH服务的22端口:

```bash

sudo firewallcmd zone=public addport=22/tcp permanent

sudo firewallcmd reload

```

可以使用以下命令查看端口是否成功添加:

```bash

firewallcmd listports

```

设置文件夹访问权限

1、设置.ssh文件夹权限

确保用户的.ssh文件夹及其内部文件具有正确的权限:

```bash

cd ~

chmod 700 .ssh

chmod 600 .ssh/

ls la .ssh

```

authorized_keys文件用于存储客户端的公钥,以便实现基于密钥的身份验证。

启动与开机自启设置

1、启动SSH服务

使用以下命令手动启动SSH服务:

```bash

sudo systemctl start sshd

```

2、设置开机自启

使用以下命令设置SSH服务在系统启动时自动启动:

```bash

sudo systemctl enable sshd

```

可以使用以下命令检查是否设置成功:

```bash

systemctl listunitfiles | grep ssh

```

更改SSH端口(可选)

1、修改配置文件

如需更改SSH端口(例如改为8112),编辑/etc/ssh/sshd_config文件:

```bash

sudo vi /etc/ssh/sshd_config

```

找到并修改Port行,

```bash

Port 8112

```

保存并关闭文件后,重启SSH服务:

```bash

sudo systemctl restart sshd

```

2、检查新端口

使用以下命令检查新的端口是否已开启:

```bash

netstat lnp | grep 8112

```

如果更改了SELinux策略,确保放行新端口:

```bash

sudo semanage port a t ssh_port_t p tcp 8112

```

相关问答FAQs

1、如何检查SSH服务是否正在运行?

可以通过以下命令检查SSH服务的状态:

```bash

systemctl status sshd

```

如果服务正在运行,会显示"active (running)"状态。

2、如何通过SCP复制文件到远程服务器?

使用scp命令将本地文件复制到远程服务器:

```bash

scp localfile.txt user@remote_ip:/path/to/destination/

```

使用scp命令从远程服务器复制文件到本地:

```bash

scp user@remote_ip:/path/to/source/remotefile.txt /path/to/local/destination/

```

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