Linux SSH安全高效操作,你掌握了吗?

安装SSH服务

检查是否已安装

systemctl status sshd   # 查看SSH服务状态

若显示Unit sshd.service could not be found,则需安装。

安装OpenSSH服务器

  • Debian/Ubuntu
    sudo apt update && sudo apt install openssh-server -y
  • CentOS/RHEL
    sudo yum install openssh-server -y

启动并设置开机自启

sudo systemctl start sshd        # 启动服务
sudo systemctl enable sshd       # 开机自启

基础配置

配置文件路径:/etc/ssh/sshd_config

关键参数修改(需root权限):

sudo nano /etc/ssh/sshd_config
  • 修改默认端口(避免暴力破解):
    Port 2222   # 将22改为自定义端口(如2222)
  • 禁止root远程登录(增强安全):
    PermitRootLogin no
  • 限制登录用户
    AllowUsers alice bob   # 仅允许alice和bob登录
  • 启用密钥登录(推荐):
    PasswordAuthentication no      # 关闭密码登录
    PubkeyAuthentication yes       # 启用密钥登录

保存后重启服务:

sudo systemctl restart sshd

防火墙放行SSH

开放自定义端口(以2222为例)

  • firewalld(CentOS/RHEL):
    sudo firewall-cmd --permanent --add-port=2222/tcp
    sudo firewall-cmd --reload
  • ufw(Ubuntu):
    sudo ufw allow 2222/tcp
    sudo ufw reload

验证端口监听:

ss -tunlp | grep sshd

输出应显示LISTEN状态(如0.0.0:2222)。


使用密钥登录(更安全)

本地生成密钥对(在客户端操作):

ssh-keygen -t ed25519   # 生成ED25519密钥(推荐)

将公钥id_ed25519.pub复制到服务器:

ssh-copy-id -p 2222 user@server_ip   # 替换端口和IP

测试登录:

ssh -p 2222 user@server_ip   # 无需密码即成功

安全加固建议

  1. Fail2Ban防护:自动封禁暴力破解IP
    sudo apt install fail2ban    # Debian/Ubuntu
    sudo yum install fail2ban    # CentOS/RHEL
  2. 禁用弱加密算法:在sshd_config末尾添加:
    KexAlgorithms curve25519-sha256
    Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com
    MACs hmac-sha2-512-etm@openssh.com
  3. 定期更新
    sudo apt upgrade openssh-server   # Debian/Ubuntu
    sudo yum update openssh-server    # CentOS/RHEL

常见问题解决

  • 连接超时
    检查防火墙规则、云服务商安全组是否放行端口。
  • 权限错误
    确保~/.ssh目录权限为700,密钥文件为600:

    chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
  • 服务无法启动
    检查配置语法:sudo sshd -t

SSH是Linux系统管理的安全基石,通过修改默认端口、强制密钥登录、结合Fail2Ban防护,可显著提升安全性,定期审计日志(/var/log/auth.log)和更新系统是长期维护的关键,对于生产环境,建议参考NIST或CIS安全基准进一步加固。

引用说明

  • OpenSSH官方文档:https://www.openssh.com/manual.html
  • Linux man pages(man sshd_config
  • CIS安全指南:https://www.cisecurity.org/benchmark/linux

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9965.html

(0)
酷番叔酷番叔
上一篇 2025年8月8日 07:38
下一篇 2025年8月8日 07:58

相关推荐

  • 升级后系统崩溃怎么办?

    在Linux中运行spawn命令通常与Expect脚本相关,它是自动化交互式命令行工具(如ssh、ftp或安装程序)的核心命令,以下是详细操作指南:理解spawn的作用spawn 是Expect工具的一部分,用于启动一个子进程并与其输入/输出交互,典型场景:自动登录服务器、批量执行命令、处理密码提示等需人工交互……

    2025年6月25日
    13000
  • Linux系统如何开启端口服务?详细步骤与方法有哪些?

    在Linux系统中,端口服务的开启是网络服务部署的核心环节,无论是搭建Web服务器、数据库服务还是远程连接服务,都需要正确配置端口并确保服务可访问,本文将详细介绍Linux系统中开启端口服务的完整流程,包括端口状态检查、防火墙配置、服务管理等关键步骤,帮助用户从零开始掌握端口服务的开启方法,端口服务的基础概念端……

    2025年9月17日
    10800
  • Linux下如何高效查看SVN提交日志?

    基础命令:svn log在终端执行以下命令查看当前工作副本的完整日志:svn log输出示例:————————————————————————r123 | user1 | 2023-10-05 14:30:00 +0……

    2025年6月24日
    14500
  • Linux中mv命令如何实现文件自动替换而不提示覆盖?

    在Linux系统中,使用mv命令移动文件时,默认行为是如果目标位置已存在同名文件,系统会提示用户是否覆盖(mv: overwrite ‘file.txt’?),需要手动输入y确认或n取消,这种交互式操作在批量处理文件时效率较低,因此很多场景下需要让mv命令自动替换目标文件,无需手动确认,实现这一目标的方法主要有……

    2025年9月18日
    12000
  • Linux操作系统里设置用户口令的正确方法是什么?详细操作步骤有哪些?

    Linux系统下,用户口令是保障系统安全的核心屏障,合理设置和管理用户口令能有效防止未授权访问,本文将详细介绍Linux系统中设置用户口令的多种方法、密码策略配置及常见场景处理,帮助用户全面掌握口令管理技能,基础口令设置命令使用passwd命令修改/设置口令passwd是Linux中最常用的口令管理工具,普通用……

    2025年9月28日
    9800

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信