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系统中,PATH环境变量决定了终端执行命令时的搜索路径,当用户输入一个命令(如ls或python),系统会按照PATH中列出的目录顺序查找可执行文件,如果PATH包含错误路径、重复路径或存在安全风险的路径(如恶意脚本目录),就需要清理或删除多余项,以下是详细操作方法:PATH的作用与删除原因PATH……

    2025年6月13日
    7600
  • 如何轻松添加单个IP?

    在Linux系统中添加IP地址是网络管理的基础操作,适用于服务器负载均衡、多站点托管或故障转移等场景,以下是详细方法,涵盖临时与永久配置,适用于主流发行版(如Ubuntu、CentOS),操作需root权限,建议提前备份配置文件,临时添加IP(重启失效)通过ip命令即时生效,适合测试环境,# 添加IP范围(如虚……

    2025年7月26日
    7000
  • Linux如何查看服务器IP地址?

    在Linux系统中,查询服务器地址是日常运维和网络管理中的常见需求,服务器地址可能包含本地IP地址(IPv4/IPv6)、公网IP地址、MAC地址、主机名、域名解析信息等,掌握多种查询方法可以帮助运维人员快速定位问题、配置服务或排查网络故障,以下从不同维度详细介绍Linux系统中查询服务器地址的常用命令及具体操……

    2025年10月7日
    3200
  • linux下如何实现软连接

    Linux下,可以使用ln -s命令创建软连接。

    2025年8月9日
    6100
  • Linux下如何查找正在运行程序的路径?

    在Linux系统中,查找运行程序的路径是日常运维和开发中的常见需求,例如定位可执行文件位置、排查依赖问题或调试服务,以下是几种常用且有效的方法,涵盖不同场景需求,使用which命令快速定位可执行文件路径which命令通过遍历PATH环境变量中的目录列表,查找与输入命令名匹配的可执行文件路径,适用于快速定位常用命……

    2025年9月9日
    4800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信