如何安全开启Linux远程访问?

常用远程访问方式

  1. SSH(推荐)
    加密命令行访问,适用于大多数Linux发行版(Ubuntu/CentOS/Debian等)。
  2. VNC
    图形界面远程控制,适合需要桌面环境的场景。
  3. RDP(通过xrdp)
    兼容Windows远程桌面协议,实现图形化登录。

SSH远程访问配置(以Ubuntu为例)

步骤1:安装SSH服务端

sudo apt update && sudo apt install openssh-server  # Ubuntu/Debian
sudo systemctl start sshd && sudo systemctl enable sshd  # 启动并开机自启

CentOS/Fedora 使用:sudo yum install openssh-server

步骤2:配置防火墙

sudo ufw allow 22  # 开放默认SSH端口(22)
sudo ufw reload    # 应用规则

若使用firewalld(CentOS):
sudo firewall-cmd --permanent --add-service=ssh && sudo firewall-cmd --reload

步骤3:客户端连接

  • Linux/macOS终端
    ssh 用户名@服务器IP -p 22
  • Windows
    使用 PuTTY 或 PowerShell 的 ssh 命令。

VNC图形化远程配置

步骤1:安装桌面环境与VNC服务

sudo apt install ubuntu-desktop tightvncserver  # 安装GNOME桌面+VNC

步骤2:设置VNC密码及配置文件

vncserver  # 首次运行生成密码(保存在 ~/.vnc/passwd)
echo 'geometry=1920x1080' > ~/.vnc/config  # 设置分辨率

步骤3:启动服务并开放端口

vncserver :1  # 启动显示号为1的会话
sudo ufw allow 5901  # 开放VNC端口(5900+显示号)

客户端使用 TigerVNC 或 RealVNC 连接 服务器IP:1


RDP远程桌面配置(通过xrdp)

sudo apt install xrdp  # 安装xrdp
sudo systemctl enable xrdp --now  # 启动服务
sudo ufw allow 3389    # 开放RDP默认端口

Windows直接使用“远程桌面连接”,输入Linux服务器IP。


安全加固措施(必做!)

  1. 修改默认端口(避免暴力破解)
    编辑SSH配置文件:

    sudo nano /etc/ssh/sshd_config

    修改:Port 2222 → 重启服务 sudo systemctl restart sshd
    防火墙同步开放新端口。

  2. 禁用root登录
    sshd_config中设置:

    PermitRootLogin no
  3. 强制密钥认证(比密码更安全)

    PasswordAuthentication no
    PubkeyAuthentication yes

    生成密钥对:ssh-keygen -t ed25519
    上传公钥:ssh-copy-id -p 端口 用户@IP

  4. 启用Fail2Ban防暴力破解

    sudo apt install fail2ban
    sudo systemctl enable fail2ban

常见问题解决

  • 连接超时
    检查防火墙规则、云服务商安全组(如AWS/Aliyun需后台放行端口)。

  • VNC黑屏
    编辑 ~/.vnc/xstartup,末尾添加:

    unset DBUS_SESSION_BUS_ADDRESS
    exec /usr/bin/gnome-session &
  • SSH “Permission denied”
    确认用户名/IP正确;检查/etc/ssh/sshd_configAllowUsers是否限制账户。


开启Linux远程访问的核心步骤为:安装服务 → 配置端口 → 安全加固,优先选择SSH并配合密钥认证,避免使用root账户,操作前务必备份配置文件(如sshd_config),任何修改后重启服务生效,定期更新系统及安全补丁,可大幅降低风险。

引用说明

  • OpenSSH官方文档:https://www.openssh.com/manual.html
  • Ubuntu服务器指南:https://ubuntu.com/server/docs
  • Fail2Ban配置参考:https://www.fail2ban.org/wiki/index.php/Main_Page
    本文基于Linux通用实践编写,适用于主流发行版(2025年验证)。

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

(0)
酷番叔酷番叔
上一篇 2025年7月28日 19:52
下一篇 2025年7月28日 20:18

相关推荐

  • Linux系统如何更改输入法?

    在Linux系统中更改输入法是一个常见需求,尤其对于需要输入中文或其他非拉丁语系文字的用户,Linux发行版众多,桌面环境(如GNOME、KDE、XFCE等)也各不相同,但输入法配置的核心逻辑相似,主要涉及输入法框架(如IBus、Fcitx5)和具体输入法引擎(如拼音、五笔)的安装与设置,本文将以主流发行版和桌……

    2025年9月26日
    21900
  • 在Linux操作系统中,如何查看当前系统有几块物理网卡设备?

    在Linux系统中,查看网卡数量是网络管理的基础操作,无论是排查网络问题、配置网络服务还是监控系统状态,都需要准确掌握网卡的识别信息,Linux提供了多种命令和工具来查看网卡信息,下面将详细介绍几种常用方法,帮助用户全面了解如何识别系统中的网卡数量及类型,使用ip命令(推荐方法)ip命令是iproute2工具包……

    2025年10月9日
    24200
  • linux如何用卸载opencv

    Linux中卸载OpenCV,可以使用包管理器。

    2025年8月14日
    15300
  • Linux编译安装的详细步骤是怎样的?

    在Linux系统中,编译安装是从源代码构建软件的标准方式,适用于需要自定义功能或官方未提供预编译包的场景,整个过程可分为环境准备、源码下载、配置、编译、安装及验证六个核心步骤,每个环节需注意依赖关系和系统兼容性,环境准备:安装构建工具与依赖库编译源码需先安装必要的构建工具和开发库,不同Linux发行版的包管理命……

    2025年10月1日
    14200
  • Windows如何使用Linux命令?实用操作方法有哪些?

    在Windows操作系统下使用Linux命令,已成为许多开发者和运维人员的日常需求,尤其是在跨平台开发、服务器管理或脚本编写场景中,Windows本身对Linux命令的支持逐步增强,用户可通过多种方式实现这一目标,以下是几种主流方法的详细介绍,Windows Subsystem for Linux(WSL)WS……

    2025年9月25日
    18600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信