[教程]内网同网段使用主机名ssh连接ubuntu主机的办法

写在前面

之前用树莓派SD卡刷写了ubuntu系统,想要连接该树莓派,只能把它外接个显示器,进行操作了解当前获取到的IP地址,或者直接在路由器上查看该树莓派获取到的IP地址。通过下面的方式,可以使用主机名进行ssh连接,不用去管IP是不是变动了。

解决方法

安裝 avahi-daemon

 apt-get install avahi-daemon #如果运行,提示已经安装,那么你可以直接试试用主机名.local进行ssh连接试试,可以的话,就不用进行下去了。(有的版本已经给安装好了的)

將 avahi-daemon 加入到開機時會自動執行的啟動程式裡面

為了要讓下一次開機的時候,還是可以直接用ubuntu.local 連線到 Raspberry Pi 上面,因此要將 avahi-daemon 加入到開機腳本中,你可以使 用以下指令完成這個目的。(因我刷写了ubuntu的,所以主机名是ubuntu.local)

 update-rc.d avahi-daemon defaults 

加上設定檔

修改 /etc/avahi/services/multiple.service ,加上如以下的設定檔案

<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=RackMac</txt-record>
</service>
<service>
<type>_ssh._tcp</type>
<port>22</port>
</service>
<service>
<type>_http._tcp</type>
<port>80</port>
</service>
</service-group>

若你不想要重新開機後才生效,可以手動去重啟 avahi-daemon

 /etc/init.d/avahi-daemon restart 

測試是否可以連線到ubuntu.local

現在你可以嘗試去 ping 看看 ubuntu.local