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 upgrade 或 sudo 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系统中当前哪些进程具体占用内存大小最多?

    在Linux系统中,监控进程内存占用是系统管理和性能优化的核心任务之一,尤其当系统出现卡顿、响应缓慢或内存不足时,快速定位高内存占用进程能有效解决问题,本文将详细介绍多种查看Linux进程内存占用的方法,涵盖基础命令、进阶工具及内存指标解析,帮助用户根据实际需求选择合适的方式,基础命令:top与htop——实时……

    2025年10月7日
    1.1K00
  • linux如何表示所以文件夹

    Linux中,用/表示根目录,所有文件夹都从根目录开始构建层级

    2025年8月18日
    23200
  • Linux运行bash的具体步骤是什么?

    Linux作为广泛使用的操作系统,其命令行界面(CLI)是用户与系统交互的核心,而Bash(Bourne-Again Shell)作为Linux默认的命令行解释器(Shell),承担着解析用户指令、调用系统程序、管理环境变量等关键任务,理解Linux如何运行Bash,需要从Bash的启动机制、配置文件加载流程……

    2025年9月17日
    24400
  • 为什么你的代码总出bug?

    切换脚本的核心原理通过脚本动态修改环境变量、符号链接或配置文件,实现快速切换,常用方法包括:别名(Alias):临时替换命令符号链接(Symlink):动态指向目标文件PATH优先级:调整$PATH顺序版本管理工具:如update-alternatives具体操作步骤创建切换脚本以切换Java版本为例:# 用法……

    2025年6月23日
    22700
  • linux如何生成公钥

    Linux 上,可以使用 ssh-keygen 命令生成公钥。

    2025年8月16日
    21900

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信