Linux装SSH怎样最安全?

安装前检查

  1. 查看是否已安装
    终端执行:

    ssh -v  # 若显示版本信息则已安装
    systemctl status ssh  # 检查服务状态(Debian/Ubuntu)
    systemctl status sshd # 检查服务状态(CentOS/RHEL)

分发行版安装步骤

Debian/Ubuntu 系

sudo apt update && sudo apt upgrade -y  # 更新系统
sudo apt install openssh-server -y     # 安装SSH服务端
sudo systemctl enable --now ssh        # 启动并设置开机自启

CentOS/RHEL/Fedora

sudo yum check-update && sudo yum update -y  # 更新系统
sudo yum install openssh-server openssh-clients -y  # 安装服务端和客户端
sudo systemctl enable --now sshd             # 启动并设置开机自启

Arch Linux/Manjaro

sudo pacman -Syu openssh           # 更新系统并安装
sudo systemctl enable --now sshd   # 启动服务

openSUSE

sudo zypper refresh && sudo zypper update -y  # 更新系统
sudo zypper install openssh        # 安装
sudo systemctl enable --now sshd   # 启动服务

基础配置与安全加固

  1. 修改配置文件
    编辑 /etc/ssh/sshd_config

    sudo nano /etc/ssh/sshd_config
    • 更改默认端口(避免22端口扫描):
      Port 2222
    • 禁止root远程登录:
      PermitRootLogin no
    • 仅允许密钥认证(更高安全):
      PasswordAuthentication no
    • 限制用户白名单:
      AllowUsers your_username
  2. 重启服务生效

    sudo systemctl restart sshd  # 或 ssh(Ubuntu系)

防火墙放行SSH

  • UFW(Ubuntu)
    sudo ufw allow 2222/tcp  # 替换为自定义端口
    sudo ufw reload
  • Firewalld(CentOS/RHEL)
    sudo firewall-cmd --permanent --add-port=2222/tcp
    sudo firewall-cmd --reload

连接测试

  • 本地验证:
    ssh username@localhost -p 2222  # 使用自定义端口
  • 远程连接(其他设备):
    ssh username@服务器IP -p 2222

高级安全措施

  1. 密钥认证替代密码

    • 本地生成密钥:ssh-keygen -t ed25519
    • 上传公钥到服务器:ssh-copy-id -p 2222 user@host
  2. Fail2ban防护暴力破解

    sudo apt install fail2ban  # Debian/Ubuntu
    sudo yum install fail2ban  # CentOS/RHEL
  3. 定期更新SSH

    sudo apt upgrade openssh-server  # Ubuntu
    sudo yum update openssh-server   # CentOS

故障排查

  • 连接被拒:检查服务状态 systemctl status sshd 和防火墙规则。
  • 认证失败:确认 sshd_configPasswordAuthentication 和用户权限。
  • 端口占用sudo netstat -tuln | grep 2222 查看端口监听。

重要提示

  • 修改配置前备份原文件:sudo cp /etc/ssh/sshd_config{,.bak}
  • 测试配置有效性:sudo sshd -t
  • 首次配置建议保留一个活动会话,避免锁死服务器。

引用说明
操作参考 OpenSSH官方文档、Ubuntu Server指南 及 Red Hat系统管理手册,安全建议遵循NIST SP 800-123标准。

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

(0)
酷番叔酷番叔
上一篇 2025年7月10日 06:25
下一篇 2025年7月10日 06:37

相关推荐

  • 如何查找Linux内核API?方法、文档与源码实用指南

    查找Linux内核API是内核开发、驱动编写或系统优化中的关键环节,掌握高效的方法能显著提升开发效率,以下是几种主流的查找途径和实用技巧,结合工具与资源,帮助开发者准确定位所需API,官方文档:最权威的API参考Linux内核官方文档是API信息的首要来源,其内容经过内核维护者审核,准确性和时效性最高,内核文档……

    2025年10月3日
    16200
  • Linux操作系统下,如何查看CPU的具体类型信息?

    在Linux系统中,了解CPU类型信息对于系统优化、软件兼容性检查、性能调优等场景至关重要,通过命令行工具,可以快速获取CPU的厂商、型号、架构、核心数、线程数、缓存大小、支持的指令集等详细信息,本文将详细介绍多种查看CPU类型的方法,涵盖不同场景和需求,并对比各方法的优缺点,使用lscpu命令查看CPU信息……

    2025年9月29日
    13100
  • Linux下如何查看新邮件?

    在Linux系统中查看新邮件有多种方式,涵盖命令行工具、图形界面客户端以及通过网络协议直接访问邮件服务器,用户可根据自身需求和使用习惯选择合适的方法,本文将详细介绍这些方法,包括工具安装、配置及操作步骤,帮助用户高效管理邮件,本地邮件查看:命令行工具Linux系统默认会将用户邮件存储在本地,通常位于/var/m……

    2025年10月4日
    18900
  • 443端口如何保障网站安全?

    443端口是HTTPS协议的默认端口,用于加密的网页通信,启用该端口可提升网站安全性(防止数据窃取)和SEO排名(搜索引擎优先索引HTTPS站点),配置443端口的完整流程步骤1:获取SSL证书免费证书推荐:certbot(Let’s Encrypt)自动申请: sudo apt install certbot……

    2025年6月17日
    21100
  • 为什么无法打开配置文件怎么办?

    使用 pwd 命令(最常用)命令:pwd作用:pwd(Print Working Directory)直接输出当前路径的绝对路径(完整路径),示例:user@server:~$ pwd/home/user # 输出结果特点:简单、无参数,适合所有用户,绝对路径以根目录 开头,清晰展示完整位置,通过 Shell……

    2025年7月10日
    20000

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信