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_config 中 PasswordAuthentication 和用户权限。
  • 端口占用: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

相关推荐

  • 如何一键安装完整渗透测试工具包?

    如何在树莓派上使用 Kali Linux:完整指南Kali Linux 作为领先的渗透测试和安全审计操作系统,与树莓派的便携性结合后,可成为强大的网络安全工具,本指南将详细说明从安装到实际应用的完整流程,重点强调合法合规操作(仅限授权测试),为什么选择树莓派运行 Kali Linux?便携隐蔽:树莓派体积小、功……

    2025年6月18日
    25400
  • 数据安全如何确保第一步?

    备份重要数据:任何磁盘操作都有风险,操作前请备份第一块硬盘上的关键数据,确认硬盘识别: sudo fdisk -l 或 lsblk第二块硬盘通常标识为 /dev/sdb(SATA接口)或 /dev/nvme0n2(NVMe接口),切勿误选系统盘(通常是sda或nvme0n1),准备工具:命令行工具:fdisk……

    2025年6月24日
    30600
  • 如何考取高级Linux运维工程师?

    要成为高级Linux运维工程师,获取权威认证是系统提升专业能力、证明技术水平的重要途径,这一过程不仅需要扎实的理论基础,更依赖丰富的实践经验,需结合认证体系要求分阶段规划备考路径,明确认证体系与方向当前国内外主流的高级Linux运维认证中,红帽RHCA(Red Hat Certified Architect)和……

    2025年10月8日
    22100
  • linux下如何用python文件大小

    Linux下用Python获取文件大小,可使用os.path.

    2025年8月15日
    20800
  • 在Linux终端中如何具体停止正在执行的ping命令呢?

    在Linux系统中,ping命令是常用的网络诊断工具,通过发送ICMP回显请求测试与目标主机的连通性,在实际使用中,常需要根据场景停止ping操作,如手动测试结束、后台任务管理或脚本自动化控制,本文将详细介绍Linux中停止ping的多种方法,涵盖前台交互、后台任务、脚本控制及异常处理等场景,并结合表格对比不同……

    2025年8月26日
    1.8K00

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信