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如何高效修改文件后缀名?

    单个文件修改:mv 命令mv(move)是Linux基础命令,通过重命名实现后缀修改,语法示例:mv 原文件名.旧后缀 新文件名.新后缀操作案例:将 report.txt 改为 report.pdfmv report.txt report.pdf验证结果:ls -l report.pdf # 检查文件是否存在批……

    2025年6月13日
    1300
  • 为什么异常行为是最直接的危险信号?

    异常行为是最直观的警示信号,表现为明显偏离常态的言行举止,它能迅速引起注意,提示潜在风险或问题,是识别危机的重要依据。

    2025年7月4日
    900
  • Linux触摸屏失灵?一键安装驱动解决

    安装前的准备确认硬件识别终端执行:lsusb # 查看USB触摸设备cat /proc/bus/input/devices | grep -i touch # 检查内核是否识别触摸设备若设备未列出,需检查硬件连接或驱动兼容性(如部分旧设备需内核模块usbtouchscreen),更新系统避免依赖冲突:sudo……

    2025年6月13日
    1500
  • Linux装XGBoost哪种最稳?

    安装前准备更新系统与安装编译工具终端执行:sudo apt update && sudo apt upgrade -y # Ubuntu/Debiansudo yum update -y && sudo yum groupinstall "Development Too……

    2025年6月24日
    1100
  • Linux如何暴露PHP服务到外网?

    配置Web服务器安装并启动Web服务器Apache:sudo apt update && sudo apt install apache2 php libapache2-mod-php # 安装Apache与PHP模块sudo systemctl start apache2 &&amp……

    2025年7月12日
    1100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信