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 稳定

相关推荐
bosins5 小时前
彻底解决 WSL 2.7+ 空闲自动关闭/内存回收导致 Docker 中断的问题
linux·docker·wsl·dashboard
LongRunning5 小时前
【Linux】H3网络(二)
linux
xx~t7 小时前
嵌入式学习——ARM1
linux·arm开发·嵌入式硬件·arm
xx~t7 小时前
嵌入式——ARM1(详细篇)
linux·arm开发·嵌入式硬件·arm
我要见SA姐19 小时前
用 Claude Code 重构遗留系统:从评估到落地的完整实践指南
数据库·ide·vscode·oracle·编辑器
DYWorker00110 小时前
Linux驱动子系统:DMA-Buf —— Consumer和Provider(008)
linux·驱动开发
雯宝10 小时前
Linux 内核函数集
linux
GeW11 小时前
从挂科到高分通过:RHCE快速拿证的10个提分技巧
linux
我本善良ab12 小时前
PVE使用GRUB如何复位ubuntu的管理员密码?
ubuntu·忘记密码
鸠摩智首席音效师12 小时前
Linux /etc/nsswitch.conf 文件有什么作用 ?
linux