Linux如何启动SSH远程服务?

SSH(Secure Shell)是远程管理 Linux 系统的核心工具,通过加密通道实现安全登录和文件传输,以下是专业、安全且适用于主流 Linux 发行版的 SSH 启动方法,涵盖安装、配置、防火墙设置及安全加固。


检查与安装 SSH 服务

  1. 确认 SSH 状态
    终端执行:

    systemctl status ssh   # Ubuntu/Debian
    systemctl status sshd  # CentOS/RHEL
    • 若显示 active (running),表示 SSH 已启动。
    • 若未安装,根据发行版安装 OpenSSH:

    Ubuntu/Debian

    sudo apt update && sudo apt install openssh-server -y

    CentOS/RHEL

    sudo yum install openssh-server openssh-clients -y

启动 SSH 并设置开机自启

  • 启动 SSH 服务

    sudo systemctl start ssh   # Ubuntu/Debian
    sudo systemctl start sshd  # CentOS/RHEL
  • 设置开机自动启动

    sudo systemctl enable ssh   # Ubuntu/Debian
    sudo systemctl enable sshd  # CentOS/RHEL

配置防火墙放行 SSH

默认 SSH 端口为 22,需在防火墙放行:

  • Ubuntu(UFW 防火墙)

    sudo ufw allow 22
    sudo ufw reload
  • CentOS/RHEL(Firewalld)

    sudo firewall-cmd --permanent --add-service=ssh
    sudo firewall-cmd --reload

注意:云服务器(如 AWS/Aliyun)需在安全组中额外开放端口 22。


安全加固配置(关键步骤)

强烈建议修改默认配置,防止暴力破解:

  1. 编辑配置文件:

    sudo nano /etc/ssh/sshd_config
  2. 调整以下参数:

    Port 2222                   # 修改默认端口(2222)
    PermitRootLogin no          # 禁止 root 远程登录
    PasswordAuthentication no   # 禁用密码登录(推荐用密钥)
    AllowUsers your_username    # 仅允许特定用户登录
  3. 保存后重启 SSH:

    sudo systemctl restart ssh   # 或 sshd

验证 SSH 连接

  • 本地测试:
    ssh username@localhost -p 2222  # 替换端口和用户名
  • 远程连接(其他设备):
    ssh username@服务器IP -p 2222

故障排查

  • 连接失败?检查防火墙、安全组、端口是否正确。
  • 日志路径:/var/log/auth.log(Ubuntu)或 /var/log/secure(CentOS)。

高级安全措施

  1. 密钥认证(更安全):

    • 生成密钥对:ssh-keygen -t ed25519
    • 上传公钥到服务器:ssh-copy-id -i ~/.ssh/id_ed25519.pub user@host -p 2222
  2. Fail2Ban 防护
    自动封禁暴力破解 IP:

    sudo apt install fail2ban   # Ubuntu
    sudo yum install fail2ban   # CentOS

启动 SSH 只需三步:安装 → 启动 → 放行端口,但安全配置才是核心,务必:
✅ 修改默认端口
✅ 禁用 root 登录和密码认证
✅ 使用密钥登录
✅ 定期更新系统:sudo apt upgradesudo yum update

遵循此指南,您将获得一个既可用又安全的 SSH 服务,适用于 Ubuntu、Debian、CentOS 等主流系统。


引用说明

  • OpenSSH 官方文档:https://www.openssh.com/manual.html
  • Ubuntu SSH 指南:https://help.ubuntu.com/lts/serverguide/openssh-server.html
  • CentOS 安全加固:https://wiki.centos.org/HowTos/Network/SecuringSSH

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

(0)
酷番叔酷番叔
上一篇 2025年7月9日 08:36
下一篇 2025年7月9日 08:47

相关推荐

  • 在Linux系统中,如何查看当前工程的JDK版本信息?

    在Linux环境下开发Java工程时,确认当前工程使用的JDK版本至关重要,这直接关系到代码的兼容性、运行稳定性以及调试效率,由于Linux系统可能同时安装多个JDK版本,且工程可能通过环境变量、构建工具或IDE指定特定JDK,因此需要综合多种方法来准确识别工程实际依赖的JDK版本,以下是几种常用的排查方法,涵……

    2025年8月23日
    19100
  • 高并发云原生组件,如何实现高效稳定运行?

    采用弹性伸缩、负载均衡、服务网格及熔断限流,实现资源动态调度与故障自愈。

    2026年3月6日
    11400
  • Debian/Ubuntu如何用apt管理软件?

    在Linux系统中,查询某个软件包是否已安装是日常管理中的常见需求,不同发行版使用不同的包管理工具,因此方法各有差异,以下详细介绍主流Linux发行版的查询方法,并解释如何解读结果,操作前请确认您的发行版类型(通过命令 cat /etc/os-release 查看),这些系统基于Debian,包管理工具为 dp……

    2025年7月5日
    21800
  • 如何在Linux系统中将中文界面切换为英文界面?

    在Linux系统中,将默认中文界面改为英文是许多用户(尤其是学习或开发场景下的用户)的常见需求,不同Linux发行版及桌面环境的操作路径略有差异,但核心逻辑一致:通过修改系统语言配置或环境变量,实现界面、菜单、命令提示符等元素的英文显示,以下是针对不同场景的详细操作步骤及注意事项,图形界面环境下的语言修改(适用……

    2025年9月11日
    18200
  • Linux如何开放22端口?详细操作步骤与方法是什么?

    在Linux系统中,开放22端口通常是为了允许SSH(Secure Shell)服务的远程连接,SSH是Linux服务器进行远程管理的主要方式,22端口是SSH服务的默认端口,开放该端口意味着允许外部客户端通过SSH协议连接到服务器,本文将详细介绍在不同Linux发行版中开放22端口的详细步骤,包括防火墙配置……

    2025年9月24日
    19900

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信