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:
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.
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.
Antworten:
Um ssh beim Start zu aktivieren, sichern Sie
boot.rc
die 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.
quelle
Kopieren Sie
boot_enable_ssh.rc
zuboot.rc
aus/boot
in dem Raspberry Pirootfs
(SD - Karte)rootfs
Bearbeiten Sie die Himbeer-Pis , um/etc/network/interfaces
eine feste IP-Adresse zuzuweisen (es wird also kein DHCP- Server benötigt). Zum Beispiel,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:
Installieren Sie einen leichten VNC-Server in Ihrem Raspberry Pi:
Starten Sie dann den VNC-Server (Sie werden aufgefordert, ein Kennwort festzulegen):
Installieren Sie einen VNC-Client auf Ihrem PC:
Verbinden Sie sich dann über VNC von Ihrem PC aus mit Ihrem Raspberry Pi:
Das funktioniert hier einfach so :)
quelle
Nichts davon
boot_enable_ssh.rc
existiert 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.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
cd
legen Sie sie ein.Lauf:
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:
ifconfig
(betrüge!)Verwenden Sie diese Option
nmap
auf 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:quelle
ping -b 192.168.0
oder 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.arping
; Es wird ausgeführt, was die separaten Befehle ping und arp erfordern, jedoch ohne das Netzwerk mit ICMP-Paketen zu überfluten.arp -a
macht das nicht alleine.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
nmap
das gesamte Subnetz mit oder ähnlichen Tools nach offenem Port 22 durchsuchen (SSH ist standardmäßig aktiviert).quelle
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 wirdssh
. Um zu überprüfen, ob Sie sich in der richtigen Partition befinden, sollte sie eine Datei mit dem Namen habenstart.elf
.Vergessen Sie nicht, Ihr Passwort danach zu ändern!
Um meinen Pi in meinem Netzwerk zu finden, habe ich
sudo arp-scan -l
zwarsudo nmap -sS --open -O 192.168.1.0/24
auch eine gültige, aber langsamere Option verwendet.quelle
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
ifconfig
sie direkt ausführen zu müssen. Beispiel:quelle
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:
Aktivieren Sie SSH mit:
sudo
Geben 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:
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.
quelle
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.
quelle
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.
quelle
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:
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
ssh
file in derboot/
Partition.Auf Ubuntu-Hosts wird es automatisch gemountet und Sie können Folgendes tun:
was Sie bestätigen können mit:
was beinhaltet:
Wenn Sie den SSHD-Daemon auf dem Pi nicht aktivieren, schlägt die SSH-Verbindung fehl mit:
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:
Unter Ubuntu 17.04 benötigen Sie zum Umgehen dieses Fehlers, wie in dieser Antwort erwähnt , zunächst Folgendes:
Öffnen Sie auf dem Host den Netzwerkmanager:
Und gehen:
+
sign (Neue Verbindung hinzufügen)Finden Sie die IP des Pi auf dem Host:
gibt so etwas aus wie:
10.42.0.160
ist die IP dann wie gewohnt:Ich habe auch folgendes in meinem
.bashrc
:Beachten Sie, dass der Pi über die anderen Schnittstellen Ihres Hosts normal auf das Internet zugreifen kann:
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:
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.txt
in der ersten Partition vorhandene Datei, um Folgendes hinzuzufügen: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:
Sie müssen nur 3 Kabel anschließen:
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:
Beenden Sie mit
Ctrl-A \
.Hier ist ein Video von Adafruit, das es zeigt: https://www.youtube.com/watch?v=zUBPeoLW16Q
quelle
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 Paketavahi-utils
undavahi-daemon
installiert ist, nur versuchenaptitude 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 wirdrpi-machine
, versuchen Sie, eine Verbindung mit dem Computer herzustellenrpi-machine.local
.Sie könnten in der Datei
/etc/nsswitch.conf
nachsehen, ob Sie diese Zeile dort haben: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:
oder
Sie sollten dann alle Ihre Maschinen und ihre Dienste wie SSH und HTTP aufgelistet bekommen.
Sie können auch versuchen, das Paket
nmap
auf Ihrem Ubuntu-Rechner zu installieren . Dann können Sie mit dem Befehl überprüfen, in welchem Netz Sie sich befinden, um festzustellen,ip route list
in 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):sagt mir das ich im netz bin
192.0.43.0/24
und der router sind192.0.43.1
. Wenn Sie also den Befehl ausführen,nmap 192.0.43.0/24
wird versucht, alle Computer in Ihrem Netz zu finden und festzustellen, welche Ports offen sind. Suchen Sie nach Port22/tcp
, da dies die SSH-Server sind.quelle
Ich habe es geschafft, meinen Raspberry PI ohne Bildschirm oder Tastatur mit den folgenden Schritten einzurichten:
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ß.Laden Sie die " Apple Pi Baker App " herunter und übertragen Sie das Bild mit dieser Software auf Ihre SD-Karte
Legen Sie die SD-Karte in Ihren PI ein und nach ca. 15 Minuten wird der neueste Raspbian installiert.
Mit der Fing iPhone App entdeckte ich die IP des PI, was in meinem Fall ist
192.168.1.13
.Jetzt kann ich zu dieser IP wie folgt SSH:
Und Voila ich habe Zugriff über SSH ohne langwierige Konfiguration.
Zu Ihrer Information:
raspbian-ua-netinst
Bietet eine erweiterte Konfiguration. Lesen Sie die Readme-Datei, wenn Sie einige dieser Anfangseinstellungen anpassen möchten.quelle
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:
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.
quelle
Vielleicht möchten Sie es
raspbian-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 derREADME.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.
quelle
Für Raspbian fand ich dieses Tutorial sehr nützlich. Nachdem ich die darin beschriebenen Schritte ausgeführt hatte, konnte ich mit Benutzer
pi
und Kennwort von meinem Windows 10-Laptop auf meinen Raspberry PI SSH ausführenraspberry
.Im Einzelnen ist hier der relevante Teil:
quelle
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
) gemountetchroot /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
systemd
Stilsystemen funktioniert.quelle