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如何实现用户自动登录?

    在特定场景下(如家庭电脑、测试环境或专用设备),自动登录功能可以提升操作效率,本文详细介绍Linux实现自动登录的两种主流方法:图形界面配置和终端自动登录,同时强调安全风险及最佳实践,⚠️ 安全警告自动登录会绕过密码验证,仅推荐在低风险环境使用(如物理安全可控的私人设备),生产服务器、公共设备或存有敏感数据的系……

    2025年8月7日
    17100
  • 少了这一步安装准出错?

    选择Linux发行版新手推荐:Ubuntu(用户友好)、Linux Mint(类Windows界面)、Zorin OS(无缝过渡)中阶用户:Fedora(前沿技术)、Debian(稳定性优先)权威数据参考:根据DistroWatch近一年排名,Ubuntu、Mint、Debian为最受欢迎发行版前三(2023数……

    2025年7月13日
    15000
  • Linux系统如何查看当前时间?

    在Linux系统中,时间的准确查看和管理是系统运维的基础工作,无论是日志分析、定时任务执行还是跨系统协作,都依赖于对系统时间和硬件时间的准确掌握,Linux时间分为系统时间(由内核维护,软件运行时使用)和硬件时间(由主板实时时钟RTC维护,关机后仍运行),查看时间可通过多种命令实现,不同命令适用于不同场景,以下……

    2025年9月27日
    15500
  • 如何正确关闭SELinux?详细操作步骤与安全注意事项有哪些?

    SELinux(Security-Enhanced Linux)是美国国家安全局(NSA)主导开发的Linux安全模块,通过强制访问控制(MAC)机制为系统提供更高的安全性,它通过定义策略规则,限制进程、文件、网络等资源的访问权限,有效降低系统被攻击的风险,在某些场景下(如特定应用不兼容SELinux策略、调试……

    2025年9月25日
    14200
  • Linux环境下如何彻底卸载已安装的JRE程序及残留文件?

    在Linux系统中卸载JRE(Java Runtime Environment)需要根据其安装方式选择不同的方法,常见的安装方式包括系统包管理器(如apt、yum/dnf)安装、手动解压安装以及通过SDKMAN!等工具安装,以下是详细的卸载步骤和注意事项,确认JRE的安装方式在卸载前,需先确定JRE是通过哪种方……

    2025年8月29日
    11700

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信