在CentOS 7上配置SSH服务是一个基础但关键的操作,它允许用户通过加密的网络连接远程登录和管理服务器,下面将详细介绍如何在CentOS 7上安装、配置并启动SSH服务,包括检查是否已安装、安装OpenSSH软件包、启动和设置自启动、编辑配置文件以及测试连接等步骤。
一、检查是否已安装SSH
需要确认系统是否已经安装了SSH服务(OpenSSH),可以使用以下命令进行检查:
rpm qa | grep openssh
如果输出中包含opensshserver
和opensshclients
,则说明SSH已经安装,如果没有,则需要进行安装。
二、安装OpenSSH软件包
使用yum
包管理器安装OpenSSH服务器和客户端软件包,执行以下命令:
sudo yum install y opensshserver opensshclients
在安装过程中,可能会提示确认安装,输入y
并按下回车键继续。
三、启动SSH服务
1、启动SSH服务:
安装完成后,使用以下命令启动SSH服务:
sudo systemctl start sshd
2、设置SSH服务开机自启:
为了确保SSH服务在系统启动时自动启动,执行以下命令:
sudo systemctl enable sshd
四、配置SSH服务
SSH的配置文件位于/etc/ssh/SSHD_config
,使用文本编辑器(如vim)打开该文件:
sudo vim /etc/ssh/sshd_config
根据需要修改配置文件中的参数,以下是一些常见的配置项及其解释:
Port:设置SSH服务的端口号,默认是22。
PermitRootLogin:控制root用户是否可以登录,建议设置为no
以提高安全性。
RSAAuthentication和PubkeyAuthentication:启用RSA认证和公钥认证。
PasswordAuthentication:启用密码认证,可以根据需要设置为yes
或no
。
AuthorizedKeysFile:指定存储公钥的文件路径,默认为.ssh/authorized_keys
。
示例配置如下:
Port 22 PermitRootLogin no RSAAuthentication yes PubkeyAuthentication yes PasswordAuthentication no AuthorizedKeysFile .ssh/authorized_keys
修改完成后,保存文件并退出编辑器。
五、重启SSH服务
使配置更改生效,重启SSH服务:
sudo systemctl restart sshd
六、配置防火墙(如果适用)
如果系统启用了防火墙,需要确保SSH服务的端口(默认是22)可以被访问,使用以下命令开放SSH端口:
firewallcmd permanent addport=22/tcp firewallcmd reload
七、测试SSH连接
1、确认SSH服务正在运行:
使用以下命令检查SSH服务的状态:
sudo systemctl status sshd
2、测试SSH连接:
在另一台计算机上,使用SSH客户端连接到CentOS 7服务器:
ssh username@server_ip_address
其中username
是您在CentOS 7服务器上的用户名,server_ip_address
是服务器的IP地址,首次连接时,可能会提示确认服务器的指纹,输入yes
并继续,然后输入用户的密码即可登录。
八、常见问题及解答(FAQs)
Q1: SSH连接被拒绝怎么办?
A1: 如果SSH连接被拒绝,请检查以下几点:
确保SSH服务正在运行,并且监听正确的端口。
确认防火墙设置没有阻止SSH端口。
检查/etc/ssh/sshd_config
文件中的PermitRootLogin
和PasswordAuthentication
设置,确保它们符合您的连接需求。
如果使用的是公钥认证,确保公钥已正确添加到服务器的~/.ssh/authorized_keys
文件中。
Q2: 如何更改SSH服务的默认端口?
A2: 要更改SSH服务的默认端口,请按照以下步骤操作:
1、编辑/etc/ssh/sshd_config
文件,找到Port
行并将其值更改为您希望的端口号。
2、保存并关闭文件。
3、重启SSH服务以应用更改。
4、如果启用了防火墙,请确保新端口已被添加到防火墙规则中。
通过以上步骤,您可以在CentOS 7上成功安装、配置并启动SSH服务,从而实现安全的远程登录和管理,为了提高系统的安全性,建议禁用root用户登录并启用公钥认证。