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

如何在CentOS上配置SSH服务器?

在CentOS上配置SSH服务器的步骤包括:安装OpenSSH服务,启动并设置其开机自启, 配置防火墙以开放指定端口,修改配置文件如/etc/ssh/sshd_config来调整参数。

在CentOS系统中配置SSH服务器是一个重要的步骤,它允许用户通过加密的方式远程访问和管理服务器,以下是关于CentOS SSH服务器配置的详细指南:

一、安装与启动SSH服务

1、安装SSH服务

如果尚未安装SSH服务,可以使用以下命令进行安装:

   sudo yum install -y openssh-server

2、启动SSH服务

安装完成后,使用以下命令启动SSH服务:

   sudo systemctl start sshd

3、设置SSH服务开机自启

为了确保SSH服务在系统重启时自动启动,可以执行以下命令:

   sudo systemctl enable sshd

4、检查SSH服务状态

使用以下命令检查SSH服务的状态,确保其正常运行:

   sudo systemctl status sshd

二、查询与更改SSH端口

1、查询当前SSH端口

默认情况下,SSH服务监听在22端口,可以通过以下命令查看当前SSH端口:

   sudo cat /etc/ssh/sshd_config | grep Port

2、更改SSH端口

为了提高服务器的安全性,建议更改默认的SSH端口,使用文本编辑器(如vi)打开SSH配置文件:

   sudo vi /etc/ssh/sshd_config

找到#Port 22这行,去掉注释,并将22改为您想要设定的端口号(例如55555):

   Port 55555

保存并关闭文件后,重启SSH服务以应用更改:

   sudo systemctl restart sshd

3、防火墙设置

如果您的服务器启用了防火墙,请确保新端口已经允许通过:

   sudo firewall-cmd --permanent --zone=public --add-port=55555/tcp
   sudo firewall-cmd --reload

三、高级SSH配置

除了基本的安装和端口更改外,SSH还提供了许多高级配置选项,以满足不同的安全需求:

1、禁用root登录

为了增强安全性,可以禁用root用户通过SSH登录,编辑/etc/ssh/sshd_config文件,将PermitRootLogin设置为no:

   PermitRootLogin no

2、禁用密码登录

强制使用密钥认证,禁止密码登录,编辑/etc/ssh/sshd_config文件,将PasswordAuthentication设置为no:

   PasswordAuthentication no

3、限制登录IP范围

只允许特定IP地址或IP段通过SSH登录,编辑/etc/hosts.allow和/etc/hosts.deny文件,添加相应的规则,只允许来自内网的SSH连接请求:

   sshd: 192.168.0.

4、设置登录超时时间

限定时间内未登录成功则断开连接,编辑/etc/ssh/sshd_config文件,设置LoginGraceTime:

   LoginGraceTime 120

5、心跳检测

服务器定期向客户端发送“存活”消息,以保持连接活跃,编辑/etc/ssh/sshd_config文件,设置ClientAliveInterval和ClientAliveCountMax:

   ClientAliveInterval 300
   ClientAliveCountMax 3

四、生成SSH密钥对

为了实现无密码登录,需要生成SSH密钥对,在客户端上执行以下命令:

ssh-keygen -t rsa -b 2048

按照提示完成密钥对的生成,并将公钥复制到服务器上的~/.ssh/authorized_keys文件中:

ssh-copy-id user@server_ip

五、相关FAQs

Q1: 如何更改CentOS中SSH服务的默认端口数?

A1: 要更改CentOS中SSH服务的默认端口数,首先需要编辑SSH配置文件(/etc/ssh/sshd_config),找到#Port 22这一行,去掉注释并将22替换为您想要的端口号(例如55555),然后保存文件并重启SSH服务(sudo systemctl restart sshd)以使更改生效,如果服务器启用了防火墙,还需要确保新端口已在防火墙中开放。

Q2: CentOS中如何禁用root用户通过SSH登录?

A2: 为了禁用root用户通过SSH登录,需要编辑SSH配置文件(/etc/ssh/sshd_config),找到PermitRootLogin这一行,将其值设置为no,然后保存文件并重启SSH服务(sudo systemctl restart sshd)以使更改生效,这样,即使有人知道了root用户的密码,也无法通过SSH直接登录到服务器,从而增强了服务器的安全性。

各位小伙伴们,我刚刚为大家分享了有关“centos ssh服务器配置”的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!

0