在CentOS 7操作系统中安装和配置SSH(Secure Shell)服务是一项基础但关键的操作,它允许用户通过加密的网络连接远程登录和管理服务器,以下是一个详细的步骤指南,包括安装、配置、启动和测试SSH服务的全过程。
一、安装SSH服务
1、检查是否已安装SSH:

使用以下命令检查系统是否已经安装了SSH服务(OpenSSH)。
- rpm qa | grep openssh
如果输出中包含opensshserver
和opensshclients
,则说明SSH已经安装,如果没有,则需要进行安装。
2、安装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服务
1、编辑SSH配置文件:
SSH的配置文件位于/etc/ssh/sshd_config
,使用文本编辑器(如vim)打开该文件。
- sudo vim /etc/ssh/sshd_config
2、修改配置文件:

根据需要修改配置文件中的参数,以下是一些常见的配置项及其解释:
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
3、保存并关闭文件:
修改完成后,保存文件并退出编辑器。
4、重启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、如果启用了防火墙,请确保新端口已被添加到防火墙规则中。