您好,登录后才能下订单哦!
# 如何在CentOS7中安装和配置SSH
## 前言
SSH(Secure Shell)是一种加密的网络协议,用于在不安全的网络中提供安全的远程登录和执行命令。在Linux系统中,OpenSSH是最常用的SSH实现。本文将详细介绍在CentOS7中安装、配置和使用SSH服务的完整流程。
---
## 一、检查SSH服务状态
在开始安装前,首先检查系统是否已安装SSH服务:
```bash
systemctl status sshd
如果显示Unit sshd.service could not be found
,则表示未安装;若已安装会显示服务状态(active/inactive)。
CentOS7默认软件源包含OpenSSH,执行以下命令安装:
sudo yum install -y openssh-server openssh-clients
安装完成后检查版本:
ssh -V
SSH服务端配置文件位于:
/etc/ssh/sshd_config
使用vim或nano编辑配置文件:
sudo vim /etc/ssh/sshd_config
推荐修改的配置项:
# 修改默认端口(建议改为1024-65535之间的值)
Port 2222
# 禁止root用户直接登录
PermitRootLogin no
# 限制用户登录(多个用户用空格分隔)
AllowUsers alice bob
# 启用公钥认证
PubkeyAuthentication yes
# 禁用密码认证(需先配置密钥登录)
PasswordAuthentication no
一个强化安全的配置示例:
Port 49200
Protocol 2
PermitRootLogin no
MaxAuthTries 3
LoginGraceTime 1m
AllowUsers deploy
X11Forwarding no
UseDNS no
# 启动服务
sudo systemctl start sshd
# 设置开机自启
sudo systemctl enable sshd
# 重启服务(修改配置后必须执行)
sudo systemctl restart sshd
如果启用了firewalld:
# 添加自定义端口
sudo firewall-cmd --permanent --add-port=2222/tcp
# 重载防火墙
sudo firewall-cmd --reload
ssh-keygen -t rsa -b 4096
生成的密钥默认保存在~/.ssh/
目录(id_rsa为私钥,id_rsa.pub为公钥)
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server_ip -p 2222
ssh -p 2222 user@server_ip
Fail2Ban防护
安装fail2ban防止暴力破解:
sudo yum install epel-release
sudo yum install fail2ban
更改默认端口
避免使用22端口减少扫描攻击
定期更新
sudo yum update openssh*
禁用不安全的算法
在sshd_config
中添加:
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com
MACs hmac-sha2-512-etm@openssh.com
sudo netstat -tulnp | grep sshd
/var/log/secure
日志确保关键目录权限正确:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
通过本文的步骤,您已经完成了CentOS7上SSH服务的安装、配置和安全加固。建议定期审计SSH访问日志(/var/log/secure
),并保持服务更新以应对新的安全威胁。
注意:修改配置前建议备份原始文件,重大变更应在测试环境验证后再上生产环境。 “`
(全文约1100字,包含配置示例和实操命令)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。