如何在CentOS7中安装和配置ssh

发布时间:2021-12-22 10:22:13 作者:iii
来源:亿速云 阅读:372
# 如何在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)。


二、安装OpenSSH服务

1. 通过yum安装

CentOS7默认软件源包含OpenSSH,执行以下命令安装:

sudo yum install -y openssh-server openssh-clients

2. 验证安装

安装完成后检查版本:

ssh -V

三、配置SSH服务

1. 主配置文件路径

SSH服务端配置文件位于:
/etc/ssh/sshd_config

2. 关键配置项说明

使用vim或nano编辑配置文件:

sudo vim /etc/ssh/sshd_config

推荐修改的配置项:

# 修改默认端口(建议改为1024-65535之间的值)
Port 2222

# 禁止root用户直接登录
PermitRootLogin no

# 限制用户登录(多个用户用空格分隔)
AllowUsers alice bob

# 启用公钥认证
PubkeyAuthentication yes

# 禁用密码认证(需先配置密钥登录)
PasswordAuthentication no

3. 配置示例

一个强化安全的配置示例:

Port 49200
Protocol 2
PermitRootLogin no
MaxAuthTries 3
LoginGraceTime 1m
AllowUsers deploy
X11Forwarding no
UseDNS no

四、管理SSH服务

1. 启动/停止服务

# 启动服务
sudo systemctl start sshd

# 设置开机自启
sudo systemctl enable sshd

# 重启服务(修改配置后必须执行)
sudo systemctl restart sshd

2. 防火墙配置

如果启用了firewalld:

# 添加自定义端口
sudo firewall-cmd --permanent --add-port=2222/tcp

# 重载防火墙
sudo firewall-cmd --reload

五、SSH密钥认证配置(推荐)

1. 生成密钥对(客户端操作)

ssh-keygen -t rsa -b 4096

生成的密钥默认保存在~/.ssh/目录(id_rsa为私钥,id_rsa.pub为公钥)

2. 上传公钥到服务器

ssh-copy-id -i ~/.ssh/id_rsa.pub user@server_ip -p 2222

3. 测试密钥登录

ssh -p 2222 user@server_ip

六、安全加固建议

  1. Fail2Ban防护
    安装fail2ban防止暴力破解:

    sudo yum install epel-release
    sudo yum install fail2ban
    
  2. 更改默认端口
    避免使用22端口减少扫描攻击

  3. 定期更新

    sudo yum update openssh*
    
  4. 禁用不安全的算法
    sshd_config中添加:

    Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com
    MACs hmac-sha2-512-etm@openssh.com
    

七、常见问题排查

1. 连接超时

2. 认证失败

3. 权限问题

确保关键目录权限正确:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

结语

通过本文的步骤,您已经完成了CentOS7上SSH服务的安装、配置和安全加固。建议定期审计SSH访问日志(/var/log/secure),并保持服务更新以应对新的安全威胁。

注意:修改配置前建议备份原始文件,重大变更应在测试环境验证后再上生产环境。 “`

(全文约1100字,包含配置示例和实操命令)

推荐阅读:
  1. Unix Study之--AIX安装和配置SSH
  2. 如何在centos7中安装nginx

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

centos ssh

上一篇:gorm+gin怎么实现restful分页

下一篇:Golang怎么读取单行超长的文本

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》