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下C语言如何高效编程?

    环境准备安装编译器Linux默认不安装C编译器,需手动安装GCC(GNU Compiler Collection):sudo apt update && sudo apt install gcc # Debian/Ubuntusudo dnf install gcc # Fedora/CentO……

    2025年7月7日
    11500
  • Linux重启网络后连接不上,如何排查解决?

    在Linux系统中,重启网络服务后连接不上是常见问题,可能涉及服务状态、配置文件、网卡驱动、DNS设置或防火墙等多方面因素,本文将从排查步骤到解决方法详细说明处理流程,基础排查:确认网络服务状态重启网络后,首先检查服务是否正常启动,不同发行版使用的网络管理服务不同,例如CentOS 7+和RHEL 7+默认使用……

    2025年10月8日
    6800
  • 如何快速拓展人脉?

    访问前的准备工作确保 MySQL 服务已运行 sudo systemctl status mysql # 检查服务状态sudo systemctl start mysql # 若未运行则启动服务获取有效账户信息需准备 MySQL 用户名和密码(默认管理员账户为 root),新安装的 MySQL 可通过临时密码登……

    2025年6月27日
    9300
  • linux如何超频

    nux下CPU超频可通过调整BIOS设置或使用相关软件如cpufrequtils等,但需

    2025年8月14日
    9500
  • 如何在Linux中查找文件安装目录?

    在Linux系统中,查找文件或软件的安装目录是日常管理和故障排查的常见需求,不同的安装方式(如包管理器安装、源码编译安装等)会导致文件分布在不同位置,因此需要结合多种工具和方法定位,以下从基础命令、包管理器查询、特殊场景处理等方面展开详细说明,基础查找命令:适用于通用场景which:定位可执行文件路径which……

    2025年8月21日
    8600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信