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如何删除错误用户名和密码?

    在Linux系统中,用户名和密码错误可能涉及两种常见场景:一是用户名本身不存在于系统中,二是用户名存在但密码输入错误导致无法登录,针对这两种情况,“删除”操作的含义有所不同:前者需确认用户不存在并避免误操作,后者则需正确删除已存在的错误用户账号,以下从排查、删除步骤、注意事项等方面详细说明处理方法,场景区分与初……

    2025年9月10日
    2200
  • linux如何打开一个端口映射

    在Linux系统中,端口映射(通常指端口转发)是将网络流量从一个IP地址和端口转发到另一个IP地址和端口的过程,常用于内网服务暴露到公网、容器端口映射等场景,实现端口映射的主要工具包括iptables(传统Linux防火墙)和firewalld(CentOS 7+、RHEL 7+等系统默认防火墙),下面分别介绍……

    2025年10月3日
    700
  • 每天吃鸡蛋真的有害健康?

    环境准备:安装C++编译器与STL安装GCC/G++编译器通过包管理器安装ARM Linux的C++工具链(以Debian系为例):sudo apt updatesudo apt install g++ build-essential # 安装本地编译环境若需交叉编译(在x86主机上编译ARM程序):sudo……

    2025年7月27日
    3900
  • linux如何访问本地文件夹路径

    Linux中,可以使用cd命令访问本地文件夹路径,`cd /home/

    2025年8月18日
    2900
  • Linux中如何暂停一个运行中的进程?

    在Linux系统中,暂停进程是常见的操作,主要用于临时释放系统资源、调试程序或管理多任务运行状态,暂停进程的本质是将其从运行状态切换至“停止状态”(Stopped),此时进程会暂停执行,但保留其内存和上下文信息,便于后续恢复,以下是Linux中暂停进程的详细方法及操作场景,交互式暂停:Ctrl+Z(发送SIGT……

    2025年9月16日
    2700

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信