如何安全开启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内核是一个涉及硬件适配、软件配置和系统调试的复杂过程,主要针对嵌入式设备或特定硬件平台,以下从环境准备、内核配置、编译优化、烧录调试等环节详细说明操作步骤和注意事项,移植前的环境准备移植内核前需搭建完整的开发环境,确保工具链和硬件支持到位,交叉编译工具链:根据目标板架构(如ARM、ARM64、RI……

    2025年8月30日
    1400
  • 如何用linux查看日志

    Linux中,可使用cat、less、more命令查看日志,如cat /var/log/syslog。

    2025年8月13日
    1300
  • 镜像文件安装Linux,关键步骤有哪些?问题解答与注意事项详解

    使用镜像文件安装Linux是大多数用户选择的主流方式,相比其他安装方法,镜像文件安装具有系统纯净、版本可控、可自定义安装选项等优势,本文将详细介绍从准备工作到安装完成的完整流程,帮助不同阶段的用户顺利完成Linux系统的部署,安装前的准备工作在开始安装前,充分的准备是确保安装过程顺利的关键,主要包括以下几个方面……

    2025年8月30日
    1400
  • linux 如何进入mongo

    Linux 中,进入 MongoDB 通常使用 mongo 命令。

    2025年8月15日
    1100
  • Linux磁盘空间不足如何扩容?

    准备工作备份数据重要提示: 任何磁盘操作前必须备份数据!误操作可能导致数据丢失,检查当前磁盘状态 lsblk # 查看所有块设备df -Th # 查看已挂载的文件系统及类型sudo fdisk -l # 列出磁盘分区详情确认可用空间如果是虚拟机或云服务器,先确保底层存储已扩容(如AWS EBS、KVM虚拟磁盘……

    2025年8月6日
    2100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信