通过主机名(动态IP)在家庭网络中进行ssh

通过主机名(动态IP)在家庭网络中进行ssh

我有一个带有动态 IP 地址的家庭网络。我想获得从一个 Linux 桌面到​​另一个 Linux 桌面(实际上是 Ubuntu 到 CentOS)的 ssh 连接。我可以通过IP地址连接:

loom@ubuntu-desktop:~ $ ssh 192.168.0.110

问题是动态ip。第二天我必须知道新的 IP 才能连接。我尝试使用主机名而不是 ip 失败:

loom@ubuntu-desktop:~ $ ssh centos-desktop
ssh: Could not resolve hostname centos-desktop: Name or service not known

loom@ubuntu-desktop:~ $ ssh centos-desktop.area
ssh: Could not resolve hostname centos-desktop.area: Name or service not known

hosts两台计算机都有文件。森托斯

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
127.0.0.1   centos-desktop.area centos-desktop
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

和乌班图

127.0.0.1   localhost
127.0.1.1   ubuntu-desktop.area ubuntu-desktop

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

如何在我的网络中组织 ssh 访问?

答案1

http://blog.uguu.waw.pl/2015/05/21/mdns-netbsd-linux-osx/

多播 DNS 使用称为“本地”的特殊域。主机名自动在此域中注册。

如果你在 ubuntu 系统上尝试,你应该会发现它已经可以工作了ssh ubuntu-desktop.local,但显然这不会很有用......

响应程序由 Avahi 服务实现,该服务已经成为所有最新发行版的一部分。

解析器作为额外的 nsswitch 模块 mdns 实现,不幸的是,它不包含在 RHEL/CentOS 中。

但是,mdns 模块可以从 EPEL 存储库安装(因此请务必先启用它)。

接下来,安装必要的软件包:

# yum -y 安装 avahi nss-mdns

# 系统控制启动avahi 服务avahi 守护进程

# 系统控制启用avahi 服务avahi 守护进程

接下来,通过修改hosts:行来启用/etc/nsswitch.conf中的mdns模块:

主机:文件 mdns_minimal [NOTFOUND=return] dns mdns

如果您仅使用 IPv4,请改用 mdns4_minimal 和 mdns4。

相关内容