Ubuntu 使用 avahi/mDNS 实现固定连接(VSCode Remote SSH + NoMachine)

平时使用 Ubuntu 做远程开发时,如果设备连接的是手机热点或者 WiFi,经常会遇到:

  • Ubuntu IP 经常变化

  • 每次都要重新查 IP

  • VSCode Remote SSH 很麻烦

这里使用:

avahi + mDNS

实现:

复制代码
eaibot.local

固定连接。

这样:

  • 不需要查 IP

  • 不需要 Tailscale

  • 不影响 GitHub Copilot

  • VSCode Remote SSH 稳定

  • NoMachine 可正常使用


一、Ubuntu 安装 avahi

Ubuntu:

复制代码
sudo apt update
sudo apt install avahi-daemon -y

二、设置 Ubuntu 主机名

例如:

复制代码
sudo hostnamectl set-hostname eaibot

查看:

复制代码
hostname

输出:

复制代码
eaibot

即可。


三、启动 avahi

Ubuntu:

复制代码
sudo systemctl enable avahi-daemon
sudo systemctl start avahi-daemon

四、检查 avahi 状态

复制代码
systemctl status avahi-daemon

看到:

复制代码
active (running)

即可。


五、Windows 测试

Windows CMD / PowerShell:

复制代码
ping eaibot.local

如果看到:

复制代码
正在 Ping eaibot.local [192.168.x.x]

说明:

mDNS 配置成功。


六、SSH 测试

Windows:

复制代码
ssh your_username@eaibot.local

七、VSCode Remote SSH 配置

Windows:

复制代码
~/.ssh/config

添加:

复制代码
Host eaibot
    HostName eaibot.local
    User your_username

然后:

复制代码
Remote-SSH: Connect to Host
→ eaibot

即可远程开发。


八、NoMachine 使用

NoMachine Host:

复制代码
eaibot.local

即可。

适合:

  • ROS

  • Gazebo

  • RViz

  • MATLAB

  • Linux GUI


九、如果 SSH 无法连接

Ubuntu 安装 SSH:

复制代码
sudo apt install openssh-server -y

启动:

复制代码
sudo systemctl enable ssh
sudo systemctl start ssh

查看状态:

复制代码
systemctl status ssh

十、最终效果

最终开发架构:

复制代码
Windows
├── VSCode
├── GitHub Copilot
└── NoMachine

        ↓

eaibot.local
        ↓

Ubuntu

特点:

  • 不需要查 IP

  • 手机热点也能稳定连接

  • 不需要 Tailscale

  • 不影响 Copilot

  • VSCode Remote SSH 稳定

相关推荐
AlfredZhao1 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
zzzzzz3102 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode2 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
A小辣椒4 天前
TShark:Wireshark CLI 功能
linux
A小辣椒4 天前
TShark:基础知识
linux
AlfredZhao4 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao5 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334665 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪5 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠6 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql