如何安全开启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

相关推荐

  • 如何用last命令查看系统重启记录?

    在Linux系统中,查看开关机记录是系统维护、故障排查和安全审计的重要操作,以下是几种权威可靠的方法,适用于大多数Linux发行版(如Ubuntu、CentOS、Debian等),操作前请确保具备root权限或使用sudo命令,last 命令读取 /var/log/wtmp 文件,记录所有登录、重启和关机事件……

    2025年8月9日
    9600
  • Linux如何查看NFS版本?

    在Linux系统中,NFS(Network File System,网络文件系统)是一种常用的分布式文件系统协议,允许客户端通过网络访问服务端的文件系统,不同版本的NFS在功能、性能、安全性等方面存在差异,因此准确查看当前系统使用的NFS版本对于协议兼容性排查、性能优化及安全加固至关重要,本文将详细介绍在Lin……

    2025年9月28日
    6800
  • Linux如何高效列出目录结构的完整层次?

    Linux系统中的目录结构以树形层次组织,根目录为/,下包含/bin、/etc、/home、/usr等标准子目录,理解并掌握如何列出目录结构是系统管理和文件操作的基础,本文将详细介绍Linux中列目录结构的常用命令、选项及实际应用场景,基础命令:ls——灵活显示目录内容ls(list)是最基础的列目录命令,通过……

    2025年8月25日
    11900
  • Linux系统如何通过命令显示进程信息?

    Linux作为多用户、多任务的操作系统,进程管理是其核心功能之一,准确查看进程信息是系统管理和故障排查的基础,在Linux中,显示进程信息的方式多样,不同命令适用于不同场景,从静态快照到实时动态监控,从简单列表到详细树状结构,本文将详细介绍常用进程查看命令的用法、选项及输出含义,帮助用户全面掌握Linux进程显……

    2025年9月16日
    9900
  • Linux环境下,shadow文件的使用方法及操作步骤是什么?

    在Linux系统中,/etc/shadow文件是存储用户密码加密信息的核心安全文件,它与/etc/passwd文件配合工作:/etc/passwd存储用户的基本信息(如用户名、UID、家目录等),而密码等敏感数据则迁移至/etc/shadow,以避免普通用户通过读取/etc/passwd获取密码哈希值,从而提升……

    2025年9月19日
    8600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信