CentOS 7的SSH配置是一个常见的系统管理任务,用于确保服务器可以通过安全外壳协议(SSH)进行远程访问和管理,以下是关于如何在CentOS 7上安装、配置和启动SSH服务的详细步骤:
查看SSH是否已安装
1、检查SSH包:使用命令rpm qa | grep ssh
来检查系统中是否已经安装了SSH相关的软件包,如果显示结果中有opensshserver、opensshclients等软件包,则说明SSH服务已安装,如果没有,则需要继续下一步安装。
2、安装SSH服务:若未安装SSH服务,可以使用命令yum install opensshserver
来安装,在安装过程中,根据提示选择“y”以确认安装。
配置OpenSSH服务
1、编辑sshd_config文件:使用文本编辑器(如vi或vim)打开/etc/ssh/sshd_config文件,这是SSH服务的主配置文件,其中包含了各种参数设置。
2、常见配置选项:
Port: 设置SSH的端口号,默认为22。
Protocol: 启用SSH版本2协议,提高安全性。
ListenAddress: 设置服务监听的地址,0.0.0.0表示监听所有地址。
PermitRootLogin: 设置是否允许Root用户登录,出于安全考虑,建议设置为no。
PasswordAuthentication: 设置是否允许密码验证,可以根据需要启用或禁用。
RSAAuthentication 和PubkeyAuthentication: 设置是否允许使用密钥对进行身份验证。
3、保存并退出编辑器:完成配置后,保存更改并退出编辑器。
重启SSH服务
使用命令service sshd restart
或systemctl restart sshd
来重启SSH服务,使新配置生效。
防火墙设置
如果系统启用了防火墙,需要确保防火墙允许SSH服务的通信,可以使用以下命令开放22端口(SSH默认端口):
firewallcmd zone=public addport=22/tcp permanent firewallcmd reload
测试远程连接
在客户端机器上,使用SSH命令连接到服务器,格式如下:
ssh username@server_ip_address
将username替换为实际用户名,server_ip_address替换为服务器的实际IP地址,输入正确的用户名和密码后,应能成功连接到服务器。
FAQs
1、问题一:如何修改SSH的默认端口?
回答:要修改SSH的默认端口(例如从22改为8112),请按照以下步骤操作:
编辑/etc/ssh/sshd_config文件。
找到Port一行,将其值更改为所需的新端口号(例如8112)。
保存更改并退出编辑器。
重启SSH服务以使新配置生效。
如果更改了端口号,还需要在防火墙中开放相应的新端口。
2、问题二:如何限制只有特定用户可以远程登录?
回答:要限制只有特定用户可以远程登录,请按照以下步骤操作:
编辑/etc/ssh/sshd_config文件。
找到AllowUsers一行,将其值更改为允许登录的用户名列表(用空格分隔),允许用户xiaoli和xiaozhang登录,可以设置为AllowUsers xiaoli xiaozhang
。
如果需要进一步限制用户的登录源IP地址,可以使用AllowUsers
后跟用户名和IP地址的组合,仅允许用户xiaozhang从IP地址192.168.1.2登录,可以设置为AllowUsers xiaoli xiaozhang@192.168.1.2
。
保存更改并退出编辑器。
重启SSH服务以使新配置生效。