CentOS是一个广泛使用的Linux操作系统,它自带的SSH服务让用户可以通过远程登录访问服务器。在一些情况下,比如在服务器上安装软件,使用远程登录会更加方便和快捷。在本文中,我们将介绍如何配置CentOS的SSH服务。

在开始之前,需要安装OpenSSH,它是用来提供安全的远程登录功能的。在终端窗口中,输入以下命令,以安装OpenSSH:

yum install openssh-server

安装完成后,输入以下命令,启动OpenSSH服务:

systemctl start sshd

如果成功启动了SSHD服务,你将会看到以下消息:

Job for sshd.service failed because the control process exited with error code. See "systemctl status sshd.service" and "journalctl -xe" for details.

在CentOS上运行SSH时,还需要关闭防火墙。你可以通过输入以下命令来完成该操作:

systemctl stop firewalld.service

如果成功关闭防火墙,你将会看到以下消息:

FirewallD is not running

在完成以上操作之后,需要修改SSH配置文件以确保安全。你可以使用以下命令来在终端中打开配置文件:

vim /etc/ssh/sshd_config

在配置文件中,你需要查找以下选项:

Port 22

#Protocol 2, 1
#PermitRootLogin prohibit-password
#PasswordAuthentication yes
#PubkeyAuthentication yes
#...

取消#注释并且根据需要修改选项。例如,将Port修改为不同的端口号,以增加安全性。修改完成后,保存并关闭文件。

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

systemctl restart sshd

如果成功重启了SSH服务,你将会看到以下消息:

Job for sshd.service failed because the control process exited with error code. See "systemctl status sshd.service" and "journalctl -xe" for details.

现在,你已经完成了CentOS上的SSH配置。接下来,你需要测试远程连接功能是否正常。在另一台计算机上,运行SSH客户端,输入以下命令:

ssh [username]@[IP address] -p [Port number]

[username]是你在CentOS中的用户名,[IP address]是你CentOS服务器的IP地址,而[Port number]则是你修改后的端口号。

如果一切正常,你将会被提示输入密码。输入正确的密码后,你将会成功登录到CentOS服务器。

在完成以上步骤之后,你可能需要永久更改SSH端口号。为了实现这一目的,你需要编辑CentOS服务器的网络配置文件:

vim /etc/sysconfig/network-scripts/ifcfg-eth0

编辑配置文件以将DHCP改为静态IP地址,并设置以下内容:

BOOTPROTO=none
IPADDR=[your IP address]
NETMASK=[your netmask]
GATEWAY=[your gateway]
DNS1=[your DNS server IP address]
DNS2=[your DNS server IP address]
DNS3=[your DNS server IP address]

重启网络服务:

systemctl restart network

现在,你需要修改SSH配置文件以永久更改端口号。在终端中打开SSH配置文件:

vim /etc/ssh/sshd_config

取消#注释并且修改Port选项为你想要的端口号。例如,Port 2222。

完成后,保存并关闭文件,然后重启SSH服务以使更改生效:

systemctl restart sshd

为了增加安全性,你可以使用SSH密钥认证。在CentOS服务器上,输入以下命令:

ssh-keygen

选择一个存储密钥的文件夹,并设置一个密码。现在,你需要将公钥文件复制到另一台计算机或服务器中的authorized_keys文件中。

在另一台计算机或服务器上,输入以下命令:

ssh-copy-id username@remote_host

现在,你不再需要输入密码即可登录到CentOS服务器。

为了保证安全性,你可以设置SSH会话超时功能。在SSH配置文件中,取消注释并且修改以下选项:

ClientAliveInterval 0

#ClientAliveCountMax 3

ClientAliveInterval选项是指发送一个空包的时间,单位为秒,以保持SSH会话活动状态。ClientAliveCountMax选项是指在SSH服务器自动退出之前允许的空包数。

为了在服务器出现问题时方便排错,你可以启用SSH日志记录功能。在SSH配置文件中取消注释并且修改以下选项:

SyslogFacility AUTHPRIV

#LogLevel INFO

SyslogFacility选项是指发送日志消息的设施。如果你想要将SSH日志记录到/var/log/auth.log文件中,你可以使用AUTHPRIV。而LogLevel选项是指将日志消息发送到记录之前的最低优先级。

在本文中,我们介绍了如何配置CentOS的SSH服务。我们通过安装OpenSSH、修改SSH配置文件、重启SSH服务、测试SSH连接、永久更改SSH端口号、配置SSH密钥认证、配置SSH会话超时和配置SSH日志记录等步骤,使远程登录更加安全和方便。

最后修改:2023 年 06 月 12 日
喜欢就用赞赏来鞭打我吧~