因此,我刚刚获得了 Raspberry Pi Zero W 并安装了 Raspbian Stretch Lite(无头 Debian Stretch)。我能够在无头模式下配置 WiFi,并且 Raspberry 连接到我的家庭 WiFi 网络。
然后我运行nmap 192.168.100.0/24 -p 22
并找出该设备的 IP:
Starting Nmap 7.70 ( https://nmap.org ) at 2019-06-07 22:01 +03
Nmap scan report for 192.168.100.57
Host is up (0.0095s latency).
PORT STATE SERVICE
22/tcp open ssh
Nmap done: 256 IP addresses (5 hosts up) scanned in 2.76 seconds
看起来192.168.100.57
就是我正在寻找的机器人。通过 SSH 连接有效:
ssh [email protected]
Linux raspberrypi-1 4.14.98+ #1200 Tue Feb 12 20:11:02 GMT 2019 armv6l
pi@raspberrypi-1:~ $ hostname
raspberrypi-1
我已经对它进行了一些尝试,并将主机名更改为raspberrypi-1
,但我要求的所有操作也都使用默认名称(raspberrypi
)。
Avahi 正在我的 Raspberry 上运行:
pi@raspberrypi-1:~ $ ps axu | grep avahi
avahi 247 0.0 0.7 6384 3168 ? Ss 17:54 0:00 avahi-daemon: running [raspberrypi-1.local]
avahi 255 0.0 0.3 6384 1480 ? S 17:54 0:00 avahi-daemon: chroot helper
pi 829 0.0 0.4 4360 2028 pts/0 S+ 19:10 0:00 grep --color=auto avahi
通过名称进行自我 pingraspberrypi-1.local
也有效:
pi@raspberrypi-1:~ $ ping raspberrypi-1.local
PING raspberrypi-1.local (192.168.100.57) 56(84) bytes of data.
64 bytes from 192.168.100.57 (192.168.100.57): icmp_seq=1 ttl=64 time=0.230 ms
^C
--- raspberrypi-1.local ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
现在,我正尝试通过笔记本电脑的主机名连接到 Pi:
$ ssh [email protected]
ssh: Could not resolve hostname raspberrypi-1.local: Name or service not known
但avahi-resolve
能够解析该名称!
$ avahi-resolve -nv raspberrypi-1.local
Server version: avahi 0.7; Host name: millennium-falcon.local
raspberrypi-1.local 192.168.100.57
但是,avahi-browse -arp
没有显示我的 Pi。
我的笔记本电脑/etc/nsswitch.conf
是:
passwd: files mymachines systemd
group: files mymachines systemd
shadow: files
publickey: files
hosts: files mymachines mdns4_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] dns mdns4 myhostname
networks: files
protocols: files
services: files
ethers: files
rpc: files
netgroup: files
并且/etc/resolv.conf
是:
nameserver fe80::1%wlp2s0
nameserver 82.209.240.241
nameserver 82.209.243.241
我不明白我的配置出了什么问题,以及为什么我无法使用其主机名连接到 Pi。WAIDW?
答案1
/etc/mdns.allow
在我的笔记本电脑上创建一个文件后,问题似乎消失了:
$ ll /etc/mdns.allow
-rw-r--r-- 1 root root 15 Jun 7 23:56 /etc/mdns.allow
$ cat /etc/mdns.allow
.local.
.local
我找到了解决方案这里。仍然不确定为什么它默认不起作用……