Bereite dich auf ssh ohne Bildschirm vor

155

Ich habe ein Raspberry Pi Modell B zu Hause, aber ich habe keinen Bildschirm. Mein Plan ist, es an das Ethernet anzuschließen und dann in es ssh. Dies bedeutet jedoch, dass zuerst die SD-Karte mit dem Betriebssystem (Debian Squeeze) vorbereitet werden muss. Ich sehe zwei Möglichkeiten:

  1. Bereiten Sie die SD mit dem Betriebssystem so vor, dass das RPi immer unter einer festen IP-Adresse eine Verbindung zum Ethernet herstellt und einen SSH-Server aktiviert.

  2. Bereiten Sie die SD-Karte mit dem Betriebssystem so vor, dass das RPi eine Verbindung zum Netzwerk herstellt, einen SSH-Server aktiviert und dann seine IP-Adresse sendet, damit ich darauf zugreifen kann.

Welche dieser Möglichkeiten ist einfacher? Und wie mache ich das? Gibt es andere möglichkeiten

Ich habe die folgenden Tools: Ubuntu 10.4, MacOS 10.5, Windows 7, aber nur das Ubuntu hat einen Kartenleser. Leider kann ich nicht auf die DHCP-Tabelle meines Routers zugreifen, da diese vollständig geschlossen ist.

Bis B
quelle
5
Nützlich - RasPi bootet natürlich nicht (zumindest Debian) mit aktiviertem SSH. Sie müssen eine Datei in / boot / ändern, deren Name SSH enthält, um zu booten. Ich weiß, dass dies Ihre Frage nicht beantwortet, aber es könnte der nächste Stolperstein sein :)
George Pearce
1
Ich glaube nicht, dass dies eine Antwort wert ist, aber Sie könnten ein Port-Scan-Tool ausprobieren.
ian.shaun.thomas
10
@iampearce: In der Debian Wheezy Beta scheint ssh nun standardmäßig aktiviert zu sein.
Jon Egerton
5
Für das aktuelle Wheezy ist SSH standardmäßig aktiviert. Wenn Sie einen DHCP-Server in Ihrem Netzwerk haben, funktioniert dies sofort.
Sentry
1
Es gibt bereits alle Antworten, die Sie brauchen, denke ich. Ich wollte nur meine Art der Suche in den Pis in meinem Netzwerk hinzufügen. Ich habe normalerweise mehr als einen und noch mehr Rechner mit Port 22 offen. nmap -sP 192.168.0.0/24 | grep Pi -B 2
cee

Antworten:

70

Um ssh beim Start zu aktivieren, sichern Sie boot.rcdie Startpartition auf dem SD-Image und ersetzen Sie sie durchboot_enable_ssh.rc

Ich kenne Ihren Router nicht, aber Sie können ihn möglicherweise so konfigurieren, dass eine feste IP-Adresse für die MAC-Adresse Ihres Pi reserviert wird.

finnw
quelle
3
Ist ssh bereits auf dem von der Foundation bereitgestellten Debian Squeeze-Image installiert?
Bis zum
1
@TillB, es ist im mitgelieferten Image installiert, muss aber manuell gestartet werden.
13.
1
Ok, welches ist die Boot-Partition? Ich habe eine, die das Dateisystem enthält, eine Swap-Partition und eine, die die Datei start.elf und andere enthält. Es gibt auch die boot_enable_ssh.rc, aber keine boot.rc. Ich habe es in boot.rc umbenannt und gebootet. Ich finde das RPi im Netzwerk (zumindest nehme ich an, dass es das Pi ist), aber ssh ist geschlossen.
Bis zum
1
Bist du sicher, dass es so ist? Meins funktioniert durch Umbenennen in TO boot.rc, wie in raspberrypi.stackexchange.com/questions/606/…
David Sykes,
5
Ich habe das 2012-09-18-wheezy-raspbian.img-Image auf einem neuen Raspberry Pi ohne Kopf gestartet, es hat sshd automatisch gestartet und sich selbst mithilfe von DHCP konfiguriert.
Nr.
52
  1. Kopieren Sie boot_enable_ssh.rczu boot.rcaus /bootin dem Raspberry Pi rootfs(SD - Karte)

  2. rootfsBearbeiten Sie die Himbeer-Pis , um /etc/network/interfaceseine feste IP-Adresse zuzuweisen (es wird also kein DHCP- Server benötigt). Zum Beispiel,

    auto lo eth0
    iface lo inet loopback
    iface eth0 inet static
        address 192.168.0.202
        netmask 255.255.255.0
        gateway 192.168.0.200
    
  3. Booten Sie Ihren Raspberry Pi, schließen Sie ihn mit einem Ethernet-Kabel an dasselbe Netzwerk an, mit dem Ihr PC verbunden ist (oder verbinden Sie ihn direkt mit Ihrem PC), und melden Sie sich über SSH an:

    ssh [email protected]
    
  4. Installieren Sie einen leichten VNC-Server in Ihrem Raspberry Pi:

    sudo apt-get install tightvncserver
    
  5. Starten Sie dann den VNC-Server (Sie werden aufgefordert, ein Kennwort festzulegen):

    vncserver :1 -name RasPi -depth 16 -geometry 1024x768
    
  6. Installieren Sie einen VNC-Client auf Ihrem PC:

    apt-get install xtightvncviewer
    
  7. Verbinden Sie sich dann über VNC von Ihrem PC aus mit Ihrem Raspberry Pi:

    xtightvncviewer 192.168.0.202:1
    

Das funktioniert hier einfach so :)

Tiago B. Vaz
quelle
2
FWIW: OP hat nach ssh gefragt - nicht nach X oder VNC.
Brad
Ich habe die Konfiguration raspberrypi_defconfig unter BUILDROOT verwendet, um das Betriebssystem auf dem PC zu mounten. Es gibt keine boot.rc-Datei im Boot-Ordner. was kann ich machen ?
Das Biest
36

Nichts davon boot_enable_ssh.rcexistiert in aktuellen Raspian-Builds. Sie booten, ein nettes grafisches Menü bietet Ihnen einige Optionen (einschließlich, ob SSHD beim Booten geladen werden soll) und gibt Sie dann über eine Befehlszeile aus.

Das ist großartig, wenn Sie ein grafischer Benutzer sind.

Wenn Sie nicht sind, werden Sie in der Position gelassen, in der Sie irgendwie extern laufen müssen update-rc.d. Alles, was dies wirklich bewirkt, ist die Erstellung eines Symlinks zum /etc/init.d/...Skript an verschiedenen Stellen im /etc/rc{0..6}.d/...Dateisystem. Verwirrt? Macht nichts - der Schaden ist einfach.

  1. Ich gehe davon aus, dass Sie dies von einem Linux-Computer aus tun. Zumindest etwas mit Bash oder etwas Kompatibles. Was ich vorschlage, wird unter Windows ohne Cygwin (oder andere) nicht funktionieren. Setzen Sie die SD-Karte ein und cdlegen Sie sie ein.

  2. Lauf:

    for i in 2 3 4 5; do sudo ln -s /etc/init.d/ssh etc/rc$i.d/S02ssh; done
    
  3. Aushängen und booten. Sie sollten über SSH Zugriff darauf haben.

Wenn Sie Schwierigkeiten haben, es in Ihrem Netzwerk zu finden ...

Drei Möglichkeiten für Sie:

  • Verwenden Sie den Administrator Ihres Routers, um ihn zu finden. Netgear kann besonders gut "Attached Devices" anzeigen.
  • Schließe einen Monitor an und laufe ifconfig(betrüge!)
  • Verwenden Sie diese Option nmapauf einem anderen Computer, um danach zu suchen. Sie sollten wissen, welche IP es ungefähr hat (bis zu einer / 24), so dass das Scannen einfach ist:

    sudo nmap -sV --open 192.168.0.0/24  -p22
    
Oli
quelle
1
Verwenden Sie hierfür nicht nmap. Sie können die Broadcast-Adresse anpingen und die ARP-Tabelle überprüfen.
Tamara Wijsman
@TomWijsman Meinst du Laufen ping -b 192.168.0oder ein Äquivalent? Ich bin mir nicht sicher, wie gut das funktioniert, da ich das gerade auf zwei Routern ohne Erfolg getestet habe. Scheint häufig blockiert zu sein.
Oli
1
@Oli: Nein, es ist Ihr Kernel, der nicht alle ARP-Antworten sammelt. Es wird als Verschwendung angesehen, jedes eingehende Paket daraufhin zu überprüfen, ob sich sein MAC bereits im ARP-Cache befindet. Deshalb funktioniert dies unter Linux nicht immer, wenn nur Ich wusste, wie man das konfiguriert; Aber dies funktioniert zum Beispiel gut unter Windows und Mac OS X ...
Tamara Wijsman
@Oli: Eine praktikable Alternative, wenn Ihr System dies nicht kann, ist arping; Es wird ausgeführt, was die separaten Befehle ping und arp erfordern, jedoch ohne das Netzwerk mit ICMP-Paketen zu überfluten.
Tamara Wijsman
2
@nornagon: arp -amacht das nicht alleine.
Tamara Wijsman
21

Wenn Sie die Arch Linux- Distribution verwenden, schließen Sie sie einfach an und warten, bis die Adresse von einem DHCP- Server zugewiesen wurde . Sie können dann den DHCP-Status überprüfen (indem Sie beispielsweise eine Verbindung zu Ihrem Router herstellen) und die IP-Adresse von der Liste der verbundenen Clients abrufen. Wenn dies fehlschlägt, können Sie nmapdas gesamte Subnetz mit oder ähnlichen Tools nach offenem Port 22 durchsuchen (SSH ist standardmäßig aktiviert).

Peter Mortensen
quelle
Oh, ich habe vergessen hinzuzufügen: Ich kann nicht auf meinen Router zugreifen (er wird von meiner Firma geliefert und ist vollständig geschlossen). Wollen Sie damit sagen, dass auf Arch ssh immer aktiviert ist? Wie wäre es mit Debian?
Bis zum
Ich denke, dass nur Arch mit SSHd voraktiviert kommt.
5
In Debian ist SSH standardmäßig nicht aktiviert.
Steve Robillard
4
Bisher war für jede Distribution, die ich auf meinem Pi installiert habe, standardmäßig SSH aktiviert. Nicht zu sagen, dass dies immer der Fall ist, aber es war für mich.
DaveJohnston
14

Nach massiven Botnet-Angriffen im Jahr 2016, da IoT-Geräte leicht mit Standardkennwörtern gehackt werden können, ist bei Raspbian SSH standardmäßig deaktiviert ( Quelle ).

Das Update ist ziemlich einfach, Sie müssen nur eine Datei in der boot Partition erstellen (nicht das Verzeichnis innerhalb des Root-Dateisystems), das aufgerufen wird ssh. Um zu überprüfen, ob Sie sich in der richtigen Partition befinden, sollte sie eine Datei mit dem Namen haben start.elf.

Vergessen Sie nicht, Ihr Passwort danach zu ändern!

Um meinen Pi in meinem Netzwerk zu finden, habe ich sudo arp-scan -lzwar sudo nmap -sS --open -O 192.168.1.0/24auch eine gültige, aber langsamere Option verwendet.

Raffael
quelle
In Ihrem Beitrag wurde erwähnt, dass ein Dateiname "start.elf" erstellt werden soll, während die Quell-URL zum Erstellen eines Dateinamens "SSH" lautet: 'Wenn Sie SSH aktivieren möchten, müssen Sie lediglich eine Datei mit dem Namen ssh einfügen das / boot / Verzeichnis. ' Kannst du den Beitrag überprüfen?
BastianW
Hoppla, ich war etwas voreilig, als ich die Antwort schrieb, danke, dass ich diesen Punkt der Verwirrung identifiziert habe
Raphael
13

Mit dem Beta-Image von Debian 7 (Wheezy) wird SSH standardmäßig installiert und aktiviert. Sie müssen nur eine Verbindung über die IP-Adresse herstellen.

Es gibt verschiedene Möglichkeiten, die IP-Adresse des Raspberry Pi zu ermitteln, ohne ifconfigsie direkt ausführen zu müssen. Beispiel:

  • Auf den Konfigurationsseiten Ihres Routers wird möglicherweise eine IP-Adresse für die angeschlossenen Computer angezeigt
  • Die meisten Smartphones verfügen über kostenlose WLAN-Netzwerkscanner, die Geräte anzeigen, die mit einem Netzwerk verbunden sind.
Jon Egerton
quelle
Es ist standardmäßig nicht auf MY Debian Wheezy-Image aktiviert ... :(
Matt
@Matt: Bist du sicher? - der Standard, den ich vor langer Zeit heruntergeladen habe, als er eingeschaltet war.
Jon Egerton
Ich glaube schon. Ich habe es heute Morgen noch einmal versucht (mit dem neuesten Bild). Vielleicht habe ich etwas verpasst, aber ich erinnere mich jetzt ein paar Mal daran.
Matt
Scheint
11

Der einfache Weg (wenn Sie nur eine Tastatur haben)

SSH ist in Debian Wheezy (Raspbian) nicht standardmäßig aktiviert. Es war einmal, dass SSH auf meinen Raspbian-Images definitiv nicht aktiviert war. Anscheinend ist SSH jetzt standardmäßig aktiviert. Aber wenn es nicht so ist und du feststeckst, lies weiter:

Das Aktivieren ist sehr einfach, viel einfacher als die meisten Antworten, die ich hier gesehen habe, wenn Sie eine USB-Tastatur haben:

  1. Schließen Sie die Tastatur an und starten Sie das RPi. Beachten Sie, dass das Standard-Tastaturlayout das Standard-QWERTY-US-Layout ist. Achten Sie also auf Ihre "Y" und "Z" sowie Ihre "-" und "/".
  2. Warten Sie eine Minute, geben Sie dann "pi" ein, drücken Sie die Eingabetaste, dann "raspberry" und drücken Sie die Eingabetaste.
  3. Aktivieren Sie SSH mit:

    sudo /etc/init.d/ssh start
    
  4. sudoGeben Sie das Passwort "Himbeere" noch einmal ein, nur für den Fall, dass es sich um einen Befehl handelt, und drücken Sie die Eingabetaste.

Sie sollten nun in der Lage sein, über die IP-Adresse in Ihrem Netzwerk auf Ihr RPi zuzugreifen.

Wie Denis Mitropolskiy bereits erwähnte , erleichtert das Konfigurationsdienstprogramm die Konfiguration von SSH an dieser Stelle:

sudo raspi-config

Gehen Sie einfach zur Option "ssh". Glücklicherweise funktioniert dies in einer SSH-Sitzung. Der einzige Befehl, den Sie "blind" ausführen müssen, ist der erste oben.

Matt
quelle
1
Tolle Antwort, aber es sieht so aus, als wäre ssh auf den neueren SD-Karten, die mit dem Pi geliefert werden, aktiviert. Meine letzte Woche bestellt und ssh hat gerade die Box geklappt!
Kugelfisch
Sie versenden jetzt mit SD-Karten? Wo hast du deine bestellt? Das sind aber gute Nachrichten. Ich dachte an ein Upgrade auf das B-Modell.
Matt
4
Nur ein Kommentar zu dieser blinden Lösung: Ich habe keine "native" englische Tastatur (es ist slowenisch!), Daher sendet meine USB-Tastatur ohne raspi-config oder dpkg- reconfigure keyboard-configuration "z" anstelle von "y". Dies wirkt sich auf die Anmeldung mit blindem Passwort aus. Ein ähnliches Problem kann auch bei anderen nicht-englischen Tastaturen auftreten! Sie können die englischen Standardzeichen in Windows überprüfen, wenn Sie die Einstellungen für Tastatur / Sprachleiste von "Ihre Sprache" -> "EN" in der Taskleiste ändern.
TomiL
3
@ TomiL: guter Punkt. Bei deutschen Tastaturen werden auch 'Z' und 'Y' vertauscht.
Peter Mortensen
1
Dies funktioniert am besten jetzt, Neueste Raspbian jessie hat ssh standardmäßig mit Benutzername / Passwort pi / raspberry
redDevil
5

Ich kann nicht sagen, ob SSH standardmäßig funktioniert, aber die neueste Version des Konfigurationsdienstprogramms enthält den Befehl "SSH aktivieren". Danach konnte ich mich über ein Netzwerk mit meiner Himbeere verbinden. Aber um es zu aktivieren, brauchst du trotzdem einen Monitor.

Denis Mitropolskiy
quelle
1
Dies ist im Grunde der einfachste Weg. Sie benötigen nicht einmal einen Monitor, um ihn zu aktivieren, wenn Sie eine Tastatur haben. Es ist nur ein Befehl erforderlich, den Sie blind ausführen können.
Matt
5

Eine Einschränkung: Bei Arch Linux funktionierte dies nur, wenn ich Ethernet vor dem Booten des Raspberry Pi angeschlossen hatte (und dann funktionierte es einwandfrei: sshd war standardmäßig aktiviert). Wenn ich zuerst boote und dann das Ethernet-Kabel anschließe, kontaktiert der Raspberry Pi niemals den DHCP-Server, um eine IP-Adresse zu erhalten.

Marcel
quelle
4

Kein Router + kein Bildschirm + normales Ethernet-Kabel + RPI 2 + Raspbian Lite 2018-11-13 + Ubuntu 18.10-Host

Zuerst müssen wir den SSH-Server auf dem Pi aktivieren, der aus Sicherheitsgründen standardmäßig deaktiviert ist.

Wenn Sie bereits über eine Nicht-SSH-Methode wie screen + keyboard oder UART eine Shell auf dem Pi haben (siehe unten), führen Sie einfach Folgendes aus:

sudo systemctl enable ssh
sudo service sshd start

wie erklärt unter: SSH funktioniert nicht bei Neuinstallation Dies bleibt bei allen Booten erhalten.

Andernfalls legen Sie die SD-Karte in Ihren Host ein und erstellen eine leere Datei mit dem Namen sshfile in der boot/Partition.

Auf Ubuntu-Hosts wird es automatisch gemountet und Sie können Folgendes tun:

sudo touch /media/$USER/boot/ssh

was Sie bestätigen können mit:

lsblk

was beinhaltet:

mmcblk0     179:0    0  14.4G  0 disk
├─mmcblk0p1 179:1    0  43.9M  0 part /media/ciro/boot
└─mmcblk0p2 179:2    0  14.4G  0 part /media/ciro/rootfs

Wenn Sie den SSHD-Daemon auf dem Pi nicht aktivieren, schlägt die SSH-Verbindung fehl mit:

ssh: connect to host 10.42.0.160 port 22: Connection refused

wenn wir es später versuchen.

Nach dem Aktivieren des SSH-Servers

Starten Sie als Nächstes den Pi und verbinden Sie ein Ethernet-Kabel von Ihrem Laptop direkt mit dem Pi:

Bildbeschreibung hier eingeben

Unter Ubuntu 17.04 benötigen Sie zum Umgehen dieses Fehlers, wie in dieser Antwort erwähnt , zunächst Folgendes:

sudo apt-get install dnsmasq-base

Öffnen Sie auf dem Host den Netzwerkmanager:

nm-connection-editor

Und gehen:

  1. + sign (Neue Verbindung hinzufügen)
  2. Ethernet
  3. Erstellen
  4. IPv4-Einstellungen
  5. Methode: Für andere Computer freigegeben
  6. Setze einen guten Namen dafür
  7. sparen

Bildbeschreibung hier eingeben

Finden Sie die IP des Pi auf dem Host:

cat /var/lib/misc/dnsmasq.leases

gibt so etwas aus wie:

1532204957 b8:27:eb:0c:1f:69 10.42.0.160 raspberrypi 01:b8:27:eb:0c:1f:69

10.42.0.160 ist die IP dann wie gewohnt:

ssh [email protected]

Ich habe auch folgendes in meinem .bashrc:

piip() ( cat /var/lib/misc/dnsmasq.leases | cut -d ' ' -f 3; )
pissh() ( sshpass -p raspberry ssh "pi@$(piip)"; )

Beachten Sie, dass der Pi über die anderen Schnittstellen Ihres Hosts normal auf das Internet zugreifen kann:

ping google.com

Zum Beispiel auf meinem Laptop nimmt der Pi das Ethernet auf, aber der Host ist auch über WiFi mit dem Internet verbunden.

Das Crossover-Kabel ist nicht erforderlich, wenn die Host-Netzwerkkarte Auto MDI-X unterstützt . Dies ist der Fall für die jüngste Hardware, zum Beispiel einschließlich der 2012 Lenovo T430 ich getestet, die hat eine „Intel® 82579LM Gigabit Network Connection“ , die Unterstützung für Auto - MDI-X dokumentiert .

Jetzt können Sie auch:

  • Greifen Sie vom PI aus über die Wifi-Verbindung Ihres Ubuntu auf das Internet zu
  • Öffnen Sie einen VNC, um auch das Display zu entfernen: Wie richte ich Raspberry Pi ohne Monitor ein?

Serieller UART-USB-Konverter

Dies ist eine Alternative zu SSH, wenn Sie nur eine Shell auf dem Pi erhalten möchten: https://en.wikipedia.org/wiki/Serial_port

Hierbei wird weder SSH noch das Netzwerk selbst verwendet, sondern die ältere, einfachere, direktere, zuverlässigere, serielle Schnittstelle mit geringerer Bandbreite und geringerem Abstand. Der Pi hat mit dieser Methode keinen Zugang zum Internet.

Desktop-Computer haben immer noch einen seriellen Anschluss, den Sie direkt mit dem Pi verbinden können. Diese sind jedoch in den meisten Laptops verborgen. Daher müssen wir einen billigen USB-Adapter kaufen. Hier habe ich verwendet: https://www.amazon.co.uk/gp/product/B072K3Z3TL Siehe auch: https://unix.stackexchange.com/questions/307390/what-is-the-difference-between- ttys0-ttyusb0-and-ttyama0-in-linux / 367882 # 367882

Stecken Sie zuerst die SD-Karte in den Host und bearbeiten Sie die config.txtin der ersten Partition vorhandene Datei, um Folgendes hinzuzufügen:

enable_uart=1

wie erklärt unter: https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=141195

Diese erste Partition enthält den Bootloader, seine Konfigurationsdateien und den (Linux- / Ihren) Kernel config.txt. Die zweite Partition enthält das eigentliche Linux-Root-Dateisystem.

Verbinden Sie nun Ihren Computer mit dem Pi wie folgt:

Bildbeschreibung hier eingeben

Sie müssen nur 3 Kabel anschließen:

  • Masse zu Masse
  • Tx on Pi to Rx am USB to Serial Port
  • Rx on Pi to Tx am USB to Serial Port

Dies ist auch dokumentiert unter: https://www.raspberrypi.org/documentation/usage/gpio/README.md

Achten Sie darauf, den Ground nicht mit 5V zu verbinden, da ich damit bereits 2 UART auf USB-Chips gebrannt habe!

Sie müssen die 5V überhaupt nicht an die 5V anschließen. Ich denke, Sie können Ihren Pi auf diese Weise mit Strom versorgen, aber ich habe gelesen, dass dies eine schlechte Idee ist. Verwenden Sie einfach die übliche USB-Stromquelle.

Schließen Sie zum Schluss die USB-Seite des Anschlusses an Ihren Host-Computer an und erhalten Sie eine Shell mit:

sudo apt install screen
sudo usermod -a -G dialout $USER
screen /dev/ttyUSB0 115200

Beenden Sie mit Ctrl-A \.

Hier ist ein Video von Adafruit, das es zeigt: https://www.youtube.com/watch?v=zUBPeoLW16Q

Ciro Santilli ist ein Schauspieler
quelle
3

Wenn Sie Debian verwenden, ist es ziemlich einfach, wenn Sie einen Bildschirm und ein Netzwerk für Ihr RPi für nur einige Minuten von einem Freund ausleihen können. Wenn nicht, können Sie einfach die Befehle für 'nmap' und 'ssh' von Ihrem Ubuntu-Host aus testen.

Überprüfen Sie einfach, ob das Paket openssh-server installiert ist und Sie können loslegen. Das machst du von der Kommandozeile mit aptitude install openssh-server. Sie können das RPi auch überprüfen oder umbenennen, wenn Sie am Computer angemeldet sind. Sie können auch prüfen, ob das Paket avahi-utilsund avahi-daemoninstalliert ist, nur versuchen aptitude install avahi-utils.

Das avahi-Paket / -Programm implementiert das Apple-Protokoll mDNS / DNS-SD, das sich bei anderen Computern anmeldet, die dieses Protokoll als Computer in der DNS-Domäne verwenden local. Wenn Ihr Computer angerufen wird rpi-machine, versuchen Sie, eine Verbindung mit dem Computer herzustellen rpi-machine.local.

Sie könnten in der Datei /etc/nsswitch.confnachsehen, ob Sie diese Zeile dort haben:

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

Sowohl Ihr Apple- als auch Ihr Ubuntu-Computer sollten dies implementieren. Ihr MS Windows 7-Computer macht das jedoch nicht. Auf dem Ubuntu-Rechner könnten Sie diesen Befehl versuchen:

avahi-browse --all

oder

avahi-browse _ssh._tcp

Sie sollten dann alle Ihre Maschinen und ihre Dienste wie SSH und HTTP aufgelistet bekommen.

Sie können auch versuchen, das Paket nmapauf Ihrem Ubuntu-Rechner zu installieren . Dann können Sie mit dem Befehl überprüfen, in welchem ​​Netz Sie sich befinden, um festzustellen, ip route listin welchem ​​IP-Netz Sie sich befinden. Zum Beispiel könnte ich auf meinem Computer so etwas bekommen (das ist von example.com, also benutze es nicht):

192.0.43.0/24 dev eth0  proto kernel  scope link  src 192.0.43.1  metric 1

sagt mir das ich im netz bin 192.0.43.0/24und der router sind 192.0.43.1. Wenn Sie also den Befehl ausführen, nmap 192.0.43.0/24wird versucht, alle Computer in Ihrem Netz zu finden und festzustellen, welche Ports offen sind. Suchen Sie nach Port 22/tcp, da dies die SSH-Server sind.

Anders
quelle
3

Ich habe es geschafft, meinen Raspberry PI ohne Bildschirm oder Tastatur mit den folgenden Schritten einzurichten:

  1. Laden Sie das neueste Bild von debian-pi / raspbian-ua-netinst herunter . Der aktuelle ist raspbian-ua-netinst-v1.0.7.img.bz2. Die heruntergeladene Datei ist nur ca. 17 MB groß.

  2. Laden Sie die " Apple Pi Baker App " herunter und übertragen Sie das Bild mit dieser Software auf Ihre SD-Karte

    ApplePiBaker

  3. Legen Sie die SD-Karte in Ihren PI ein und nach ca. 15 Minuten wird der neueste Raspbian installiert.

  4. Mit der Fing iPhone App entdeckte ich die IP des PI, was in meinem Fall ist 192.168.1.13.

    IP

  5. Jetzt kann ich zu dieser IP wie folgt SSH:

    # Password = raspbian
    ssh [email protected] 
    

Und Voila ich habe Zugriff über SSH ohne langwierige Konfiguration.

Zu Ihrer Information: raspbian-ua-netinstBietet eine erweiterte Konfiguration. Lesen Sie die Readme-Datei, wenn Sie einige dieser Anfangseinstellungen anpassen möchten.

SSH-Zugang

Besi
quelle
2

Eine der besten Möglichkeiten, nach der Erstkonfiguration eine Verbindung herzustellen, besteht darin, den avahi-daemon auf dem Raspberry Pi zum Laufen zu bringen.

Nachdem Sie den Avahi-Daemon auf dem Raspberry Pi und Bonjour auf dem Hostcomputer installiert haben, können Sie sich einfach mit raspberrypi.local als Hostnamen anmelden . So gibt es keine Notwendigkeit für die Konfiguration der IP - Adresse , entweder statisch oder dynamisch.

So installieren Sie avahi-daemon auf Raspberry Pi:

sudo apt-get update
sudo apt-get install libnss-mdns

Und wenn Sie iTunes auf dem Host-Computer installiert haben , geben Sie einfach raspberrypi.local in PuTTY ein , oder installieren Sie Bonjour von hier aus . In diesem Tutorial finden Sie weitere Informationen.

Karan
quelle
2

Vielleicht möchten Sie esraspbian-ua-netinst versuchen: Sie finden es, indem Sie hier klicken. Dies ist das minimale unbeaufsichtigte Raspbian-Installationsprogramm für die Raspberry Pi-Modelle 1B, 1B + und 2B. Kein Bildschirm oder Tastatur erforderlich. Sie haben eine ausgezeichnete Installationsanleitung in der README.md.

Im Grunde genommen formatieren Sie eine SD-Karte einfach im FAT-Format. Entpacken Sie die neueste stabile Version und legen Sie die SD-Karte in Ihren Raspberry Pi ein. Es dauert ungefähr 20 bis 30 Minuten, um eine minimale Raspbian-Installation zu installieren, und dann können Sie loslegen. Kommt mit SSH standardmäßig installiert. Es gibt einige Optionen, mit denen Sie während der Erstinstallation zusätzliche Pakete und andere Dinge installieren können. Sie können Pakete natürlich auch später hinzufügen.

Mausy5043
quelle
2

Für Raspbian fand ich dieses Tutorial sehr nützlich. Nachdem ich die darin beschriebenen Schritte ausgeführt hatte, konnte ich mit Benutzer piund Kennwort von meinem Windows 10-Laptop auf meinen Raspberry PI SSH ausführen raspberry.

Im Einzelnen ist hier der relevante Teil:

  • Stellen Sie sicher, dass der Raspberry Pi ausgeschaltet ist, und entfernen Sie die SD-Karte.

  • Legen Sie die SD-Karte in einen Kartenleser ein und schließen Sie sie an Ihren Laptop an.

  • Suchen Sie das Laufwerk und Sie sollten mehrere Dateien auf der Karte finden (beachten Sie, dass es viel kleiner ist als erwartet, da es sich nur um den Startabschnitt der Karte handelt (der Rest ist versteckt)).

  • Erstellen Sie eine Kopie von cmdline.txt und benennen Sie diese in cmdline.normal um

  • Bearbeiten Sie cmdline.txt und fügen Sie am Ende die IP-Adresse hinzu (stellen Sie sicher, dass Sie keine zusätzlichen Zeilen hinzufügen).

Verwenden Sie für Netzwerkeinstellungen, bei denen die IP-Adresse automatisch bezogen wird, eine Adresse im Bereich 169.254.XX (169.254.0.0 - 169.254.255.255):

ip=169.254.0.2

Verwenden Sie für Netzwerkeinstellungen mit fester IP-Adresse eine Adresse, die mit der Adresse des Laptops / Computers mit Ausnahme der letzten Ziffer übereinstimmt.

ip=192.168.0.2

Stellen Sie sicher, dass Sie diese IP-Adresse notieren (Sie benötigen sie jedes Mal, wenn Sie sich direkt mit dem Raspberry Pi verbinden möchten).

  • Erstellen Sie eine neue Kopie von cmdline.txt und benennen Sie diese in cmdline.direct um

  • Um zwischen Konfigurationen zu wechseln, ersetzen Sie einfach cmdline.txt durch cmdline.normal oder cmdline.direct (oder verwenden Sie die Befehle in Option 2, um dies direkt auf dem Raspberry Pi zu tun - die Änderung wird beim nächsten Einschalten wirksam).

  • Legen Sie die Karte zurück in den Himbeer-Pi. Schließen Sie das Netzwerkkabel an den Computer und den Raspberry Pi an und schalten Sie ihn ein.

BEACHTE DAS FOLGENDE:

  • Sie müssen warten, bis der Computer die Netzwerkeinstellungen erkannt hat (möglicherweise blinkt dabei ein kleines Netzwerksymbol in der Taskleiste, oder Sie öffnen die Netzwerkeinstellungen, um festzustellen, ob die Netzwerkeinstellungen abgeschlossen sind und eine IP-Adresse angegeben wurde). Es kann ungefähr eine halbe Minute dauern. Ihr Computer meldet die Verbindung möglicherweise als "eingeschränkte oder keine Verbindung", wenn er auf diese Weise mit dem Raspberry Pi verbunden ist. Dies ist normal, da es sich eher um eine direkte Computer-zu-Computer-Verbindung als um ein Standardnetzwerk handelt.

  • Wenn Sie das Netzwerkkabel vergessen oder nicht anschließen, wartet der Raspberry Pi 2 Minuten (oder bis Sie das Kabel anschließen), bevor der Startvorgang abgeschlossen ist. Wenn Sie also nur eine Tastatur und einen Monitor angeschlossen haben, müssen Sie warten !).

  • Wenn Sie mehrere verkabelte Netzwerkadapter (z. B. mit einem zusätzlichen USB-LAN-Dongle) an Ihrem Computer verwenden, müssen Sie möglicherweise das andere Netzwerkkabel abziehen und erneut anschließen (mein Windows XP-Computer benötigte dies, bevor die Verbindung über die direkte Verbindung hergestellt werden konnte ).

Mihai Todor
quelle
2

Da ich einige andere Pis hatte, mit denen ich mich verbinden konnte , habe ich geschummelt.

Ich nahm die Micro-SD-Karte aus dem Pi, die mich nicht verbinden ließ, und steckte sie in einen USB-Leser an einem der funktionierenden Pis.

Ich habe es dann in einen Testordner ( sudo mount /dev/sda2 /mnt/test) gemountet chroot /mnt/test, um es dann als neue Shell zu behandeln.

Ich habe dann SSH mit aktiviert systemctl enable ssh. Hat die Karte nach dem Abmelden herausgenommen, den Pi gebootet, dann war der SSH-Port geöffnet und zugänglich.

Funktioniert auf Debian, ich bin mir sicher, dass es auch auf anderen systemdStilsystemen funktioniert.

Kanadischer Luke
quelle