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

相关推荐
艾莉丝努力练剑1 小时前
【Linux网络】Linux 网络编程:应用层自定义协议与序列化(2)序列化与反序列化
linux·运维·服务器·c++·网络协议·序列化
kaoa0001 小时前
Linux入门攻坚——76、虚拟化技术基础原理-1
linux·运维·服务器
cui_ruicheng1 小时前
Linux线程(四):线程池、日志系统与单例模式
linux·开发语言·单例模式
AOwhisky1 小时前
Docker 学习笔记:网络篇
linux·运维·网络·笔记·学习·docker·容器
十年之少1 小时前
使用VSCode 对PyQt5 say Hello—— Python + Qt 开发
vscode·python·qt
被放养的研究生2 小时前
Windows 与 Linux 文件系统区别及常见对应关系
linux·运维·windows
怀旧,2 小时前
【Linux系统编程】23. 线程同步与互斥(下)
linux·运维·服务器
偶尔上线经常挺尸2 小时前
《每日一命令18:iptables——Linux防火墙入门》
linux·运维·服务器·iptables·防火墙
magic_now2 小时前
U-Boot双阶段启动机制深度解析:init_sequence_f[] 与 init_sequence_r[]
linux·嵌入式硬件