如何安全开启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系统中的缓存是为了提升系统性能而设计的,通过将频繁访问的数据暂存到内存中,减少磁盘I/O操作,从而加快程序响应速度,但长时间运行后,缓存文件可能会占用大量磁盘空间,导致系统变慢或存储不足,此时需要手动清除缓存,清除缓存需区分系统级缓存和应用级缓存,不同类型缓存的清除方式有所不同,操作时需注意权限和数据……

    2025年9月20日
    12400
  • Linux中移除物理卷的具体操作步骤是什么?

    在Linux系统中,物理卷(Physical Volume,PV)是LVM(Logical Volume Manager,逻辑卷管理器)的基本存储单元,通常由一个或多个块设备(如硬盘分区、LVM等)构成,当需要调整存储结构、替换故障磁盘或释放空间时,可能需要移除物理卷,移除物理卷的操作需谨慎处理,否则可能导致数……

    2025年10月8日
    11500
  • Linux集群搭建与管理速成?

    集群基础操作登录集群使用SSH连接登录头节点(管理节点): ssh username@head-node-ip禁止直接登录计算节点,所有任务通过头节点提交,环境加载集群软件通常通过module管理环境变量,常用命令:module avail # 查看可用软件列表module load openmpi/4.1.2……

    2025年6月20日
    13800
  • Linux系统下如何正确安装Matlab?

    在Linux系统下安装MathWorks MATLAB需严格遵循系统要求与安装流程,确保软件正常运行,以下是详细步骤及注意事项,安装前准备工作系统要求检查MATLAB对Linux系统有明确要求,需确保硬件与系统环境满足以下条件(以R2023b为例,其他版本略有差异):组件要求说明操作系统Ubuntu 20.04……

    2025年9月8日
    13800
  • 如何查看Linux网络端口占用情况的命令和方法?

    在Linux系统运维中,网络端口占用情况的排查是常见任务,无论是解决服务冲突、验证服务启动状态,还是进行安全审计,都需要准确掌握端口的使用情况,本文将详细介绍Linux下查看网络端口占用的常用方法,包括命令参数、使用示例及适用场景,使用netstat命令查看端口占用netstat是传统的网络工具,虽然在新版Li……

    2025年8月22日
    11700

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信