Kein Router + kein Bildschirm + normales Ethernet-Kabel + RPI 2 + Raspbian Lite 2018-11-13 + Ubuntu 18.10
Zuerst müssen wir den SSH-Server auf dem Pi aktivieren, der aus Sicherheitsgründen standardmäßig deaktiviert ist.
Wenn Sie bereits eine Shell auf dem Pi über eine Nicht-SSH-Methode wie Bildschirm + Tastatur oder UART (siehe unten) haben, führen Sie einfach Folgendes aus:
sudo systemctl enable ssh
sudo service sshd start
wie unter /raspberrypi/58478/ssh-not-working-with-fresh-install erläutert. Dies bleibt über alle Stiefel hinweg bestehen.
Legen Sie andernfalls die SD-Karte in Ihren Host ein und erstellen Sie eine magische leere Datei mit dem Namen ssh
file in der boot/
Partition.
Auf Ubuntu-Hosts wird es automatisch gemountet und Sie können einfach 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:
Unter Ubuntu 17.04 benötigen Sie zunächst Folgendes, um diesen Fehler zu umgehen, wie in dieser Antwort erwähnt :
sudo apt-get install dnsmasq-base
Öffnen Sie auf dem Host den Netzwerkmanager:
nm-connection-editor
Und gehen:
+
sign (Neue Verbindung hinzufügen)
- Ethernet
- Erstellen
- IPv4-Einstellungen
- Methode: Für andere Computer freigegeben
- Setzen Sie einen guten Namen dafür
- sparen
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 pi@10.42.0.160
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
Auf meinem Laptop nimmt der Pi beispielsweise das Ethernet auf, aber der Host ist auch über WLAN mit dem Internet verbunden.
Das Crossover-Kabel ist nicht erforderlich, wenn die Host-Netzwerkkarte Auto MDI-X unterstützt . Dies ist bei der neuesten Hardware der Fall, einschließlich beispielsweise des 2012 von mir getesteten Lenovo T430, das über eine "Intel® 82579LM Gigabit-Netzwerkverbindung" verfügt, die die Unterstützung für Auto MDI-X dokumentiert .
Jetzt können Sie auch:
UART serieller 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 geringerer Entfernung. 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 versteckt. Daher müssen wir einen billigen USB-Adapter kaufen. Hier habe ich verwendet: https://www.amazon.co.uk/gp/product/B072K3Z3TL Siehe auch: /unix/307390/what-is-the-difference-between- ttys0-ttyusb0-und-ttyama0-in-linux / 367882 # 367882
Stecken Sie zuerst die SD-Karte in den Host und bearbeiten Sie die config.txt
Datei in der ersten Partition, die hinzugefügt werden soll:
enable_uart=1
wie unter https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=141195 erläutert
Diese erste Partition enthält den Bootloader, seine Konfigurationsdateien und den (Linux / Ihr) Kernel config.txt
als eine davon. Die zweite Partition enthält das eigentliche Linux-Root-Dateisystem.
Schließen Sie nun Ihren Computer wie folgt an den Pi an:
Sie müssen nur 3 Kabel anschließen:
- Boden zu Boden
- Tx auf Pi zu Rx auf dem USB zu seriellem Port
- Rx on Pi to Tx on Tye USB to Serial Port
Dies ist auch dokumentiert unter: https://www.raspberrypi.org/documentation/usage/gpio/README.md
Achten Sie darauf, die Erdung nicht mit 5 V zu verbinden. Ich habe bereits 2 UART auf USB-Chips und einen RPI-UART gebrannt, indem ich das getan habe!
Sie müssen die 5V überhaupt nicht an die 5V anschließen. Ich denke, Sie können Ihren Pi so 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
Siehe auch
Ähnliche Frage zu RPI SE: /raspberrypi/3867/ssh-to-rpi-without-a-network-connection