在CentOS操作系统上搭建SSH服务器,是一项基础且重要的任务,它不仅能够提供安全的远程访问方式,还能为系统管理、文件传输等操作提供便利,以下是一个详细的SSH服务器搭建指南:
一、环境准备
1、配置网络:确保CentOS系统的网络配置正确,可以通过编辑/etc/sysconfig/network-scripts/ifcfg-ens33
(或相应的网络接口配置文件)来设置静态IP地址或使用DHCP动态获取IP,保存退出后,重启网络服务以应用更改:
systemctl restart network
2、关闭防火墙和SELinux:为了简化SSH服务的搭建过程,建议暂时关闭防火墙和SELinux(但请注意,这在实际生产环境中并不推荐)。
systemctl stop firewalld systemctl disable firewalld setenforce 0 sed -i "s/enforcing/permissive/g" /etc/selinux/config
3、搭建本地YUM源(可选):如果需要安装额外的软件包或加快安装速度,可以搭建本地YUM源,这一步骤根据具体需求进行,此处不再赘述。
二、安装OpenSSH
CentOS默认可能已安装OpenSSH,但可以通过以下命令检查并安装:
yum list installed | grep openssh-server 如果未安装,则执行 yum install -y openssh-server
三、配置SSH服务
1、修改配置文件:OpenSSH的主配置文件位于/etc/ssh/sshd_config
,可以使用vi或vim编辑器打开该文件进行配置:
vi /etc/ssh/sshd_config
Port 22:指定SSH连接的端口号,默认为22(可根据需要更改)。
PermitRootLogin yes:允许root用户登录(出于安全考虑,通常设置为no并创建普通用户账户)。
PasswordAuthentication yes:允许密码验证登录。
PubkeyAuthentication yes:启用公钥认证登录。
其他参数:根据实际需求进行调整,如限制特定用户登录、更改加密算法等。
2、启动SSH服务:配置完成后,启动SSH服务并设置为开机自启:
systemctl start sshd systemctl enable sshd
3、检查服务状态:确保SSH服务正在运行且监听正确的端口:
systemctl status sshd netstat -tulnp | grep 22
四、实现公钥免密登录
1、生成密钥对:在客户端计算机上使用ssh-keygen命令生成公钥和私钥:
ssh-keygen -t rsa
按提示操作,将公钥保存到指定位置(如默认路径~/.ssh/id_rsa.pub)。
2、复制公钥到服务器:使用ssh-copy-id命令将公钥复制到服务器上的~/.ssh/authorized_keys文件中:
ssh-copy-id username@server_ip
输入服务器登录密码后,公钥将被自动复制到服务器。
3、测试免密登录:尝试使用ssh命令连接到服务器而不输入密码:
ssh username@server_ip
五、常见问题及解答(FAQs)
Q1: SSH连接时提示“Permission denied (publickey)”怎么办?
A1: 这可能是由于公钥未正确添加到服务器的authorized_keys文件中,或者服务器上的权限设置不正确,请检查~/.ssh目录及其下文件的权限是否正确(如chmod 700 ~/.ssh, chmod 600 ~/.ssh/*),并确保公钥已正确复制到authorized_keys文件中。
Q2: 如何更改SSH默认端口以提高安全性?
A2: 在/etc/ssh/sshd_config
文件中修改Port参数为新的端口号(如Port 2222),然后重启SSH服务,确保防火墙放行新端口(如果启用了防火墙),还需要更新SELinux策略以允许新端口上的SSH流量(如果适用)。
小伙伴们,上文介绍了“centos ssh服务器搭建”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1375844.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复