在不知道IP地址的情况下SSH进入Raspberry Pi


35

我有连接到以太网和Mac(通过USB电缆)的Raspberry Pi。

我正在尝试在Pi中进行SSH,但我不知道IP地址。我试过了 :

 ifconfig

但我有我看不到 eth0

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    options=3<RXCSUM,TXCSUM>
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
    inet 127.0.0.1 netmask 0xff000000 
    inet6 ::1 prefixlen 128 
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=2b<RXCSUM,TXCSUM,VLAN_HWTAGGING,TSO4>
        ether a8:20:66:09:f8:36 
    media: autoselect (none)
    status: inactive
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 7c:d1:c3:d8:b5:dd 
    inet6 fe80::7ed1:c3ff:fed8:b5dd%en1 prefixlen 64 scopeid 0x5 
    inet 192.168.91.16 netmask 0xffffff00 broadcast 192.168.91.255
        media: autoselect
    status: active
fw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 4078
        lladdr 00:3e:e1:ff:fe:7f:a0:82 
    media: autoselect <full-duplex>
    status: inactive
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
    ether 0e:d1:c3:d8:b5:dd 
    media: autoselect
        status: inactive


您如何在pi架构上安装lseases?..没有适用于ARMv6hf的二进制文件
user2649476

我只需一个命令即可获得解决方案,而无需软件。我已经准备了教程。https://www.youtube.com/watch?v=PWMVowAK6wg
Kraj Technocrates


Answers:


19

尝试使用Mac的Pi Finder通过无头RPi装置发现RPi的IP。

尽管在您编辑的问题en0192.168.91.16,假设您的ifconfig输出来自RPi ,但IP似乎列在下方。


Con gusto :)而且,其他实用程序Pi Filler和Pi Copier也非常有用。
einnocent 2013年

24

您可以按主机名查找IP地址。假设您的Pi的主机名是“ raspberrypi”

这是使用ping命令和主机名获取IP地址的方法。

从Linux:ping raspberrypi
从Windows:ping raspberrypi
从OS X:ping raspberrypi.local

为了使该命令从Windows运行,您需要在Pi上运行Samba。您可以使用命令安装Samba sudo apt-get install samba


3
在RPi上使用samba只是为了广播其主机名,就像用大锤杀死苍蝇一样。更好地使用avahi。thomasloughlin.com/...
ripat

有些人想要最简单的解决方案。有些人想要最有效的解决方案。对于那些寻求简单解决方案的人来说,安装samba并不比单行命令简单。加上您建议的avahi解决方案仅可在OS X上轻松运行。如果要使其在Windows上运行,则需要Bonjour,可通过安装iTunes来获得。因此,您基本上是用iTunes大锤代替samba大锤。
geoji 2014年

尽管我认为安装iTunes的人数(因为无论如何他们的iDevice都需要它)比安装Samba的人数要多。@geoji
1684年

您无需在客户端计算机上安装samba。Samba只需在树莓派上安装一次。iTunes方法的缺点是您需要将其安装在需要从中查找IP地址的每台计算机上。
geoji 2014年

1
ping raspberrypi.local可在Web浏览器中的Windows上使用,也可在新的raspbian系统上用于ssh,并在启动时带有ssh文件。桑巴和iTunes都是不必要的。
编码氏族

11

Pi和Mac是否在同一网络中?在那种情况下,我只是arp -a找到它。不过,这里列出了许多其他方法:https : //apple.stackexchange.com/questions/19783/how-do-i-know-the-ip-addresses-of-other-computers-in-my-network ?rq = 1


3
arp -a仅在Mac已成功探测或连接到主机的情况下,该功能才能工作。通过重新启动Mac并显示arp表来尝试一下。几乎是空的。要填充该表,您需要运行类似ping扫描的操作:nmap -sP 192.168.91.0/24
ripat 2014年

@ripat Wow,这几乎使它无用。
2014年

1
解决方法:nmap -sP 192.168.91.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'请参阅我对此线程的
ripat

...,您需要以root用户身份运行上述命令sudo nmap .....
ripat 2014年


2

使用ping并且arp对我不起作用,因为在我的网络上,树莓派已分配了不同的主机名。

但是我成功使用了lsleases,在Raspberry PI网站上也建议这样做。

安装lsleases之后,使用以下命令启动服务器sudo lsleases -s:然后重新启动Raspberry PI,并等待IP地址出现。

$ sudo lsleases -s
[sudo] password for sebastian: 
2015/01/15 15:36:40 startup -  version:  1.4.0
2015/01/15 15:36:40 enable active check - ping every: 15m

# Reboot your Raspberry PI and wait

2015/01/15 15:37:10 new DHCP Lease: '132.231.71.116  b8:27:eb:f5:c3:4a raspberrypi'

瞧...


1

如果这是您的家庭网络,则您可以轻松登录到路由器,因为它们中的大多数会在其中某处显示客户端IP地址。可以通过键入ipconfig(Windows)或ifconfig(Mac,Linux等)找到您的路由器IP ,并将其列在“ 网关”下。路由器IP通常是192.168.1.1


1

“ en1”是使用“ ifconfig”的以太网地址。但是您不需要查找IP地址-这就是主机名和DNS的目的。您说您使用的是Mac,因此只需输入“ ssh pi@raspberrypi.local”即可。让DNS在后台执行工作。如果为PI提供了主机名,例如“ papagoose”,并且用户名为“ mama”,则键入“ ssh mama@papagoose.local”。如果您是从Windows操作系统进行安全脱壳,则只需删除“ .local”即可。


1

如果要为其使用GUI应用程序,则可以使用Debian / Ubuntu的Yakala工具(https://github.com/mozcelikors/yakala)。此工具不仅可以帮助您搜索可用的B型和C型网络,还可以帮助您直接SSH进入网络:

sudo add-apt-repository ppa:mozcelikors/yakala
sudo apt-get update
sudo apt-get install yakala

要么

git clone https://github.com/mozcelikors/yakala
cd yakala && sudo ./install.sh

https://raw.githubusercontent.com/mozcelikors/yakala/master/docs/img/peekx2.gif

免责声明:我是Yakala的创建者。任何建议/错误都非常重视。


0

这是我登录Raspberry Pi的方式:

IP=$(sudo nmap -p 22 --open -sV 192.168.0.0/24 | grep 192 | awk '{print $NF}') && ssh pi@$IP

在本地网络上找到打开的SSH端口,获取ip,SSH。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.