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

相关推荐

  • 如何启用eth0网络接口?

    检查网卡状态首先确认网卡是否被识别及当前状态:ip link show或ifconfig -a关键输出解读:eth0、wlan0:常见有线/无线网卡名称(新版可能为enp0s3等),state DOWN:网卡已禁用,无网卡信息:驱动未加载或硬件未识别,启动网卡的4种方法方法1:使用ip命令(推荐)sudo ip……

    2025年7月1日
    1300
  • Linux如何查看所有文件?

    ls 命令(最常用)基础用法ls /path/to/directory # 查看指定目录内容ls # 查看当前目录内容关键选项-a:显示所有文件(包括隐藏文件,如 .config) ls -a-l:以详细列表显示(权限、大小、时间等) ls -l-R:递归显示 ls -R /path-h:文件大小转为易读格式……

    6天前
    1100
  • sudo如何快速提权?

    sudo命令允许授权用户临时以root权限执行特定命令,需输入自身密码验证身份,执行后权限自动失效,避免长期持有高风险特权。

    2025年7月5日
    1200
  • Linux如何快速测试网络连接?

    在 Linux 系统中,网络连接是日常操作的基础,无论是服务器运维还是个人使用,快速诊断网络状态都至关重要,以下是 7 种专业方法,涵盖从基础连通性测试到深度故障排查,帮助您全面确认网络状态,方法 1:使用 ping 测试基础连通性命令:ping -c 4 8.8.8.8 # 测试与 Google DNS 的连……

    2025年6月16日
    1500
  • Linux装Win7双系统,如何避免分区丢失数据?

    准备工作必备工具Windows 7 ISO镜像(官方下载)8GB以上U盘Linux Live USB(用于分区和修复引导)备份所有重要数据(分区操作有风险)制作Windows 7安装盘在Linux终端执行:sudo dd if=/path/to/win7.iso of=/dev/sdX bs=4M status……

    2025年7月8日
    1200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信