SSH zu RPi ohne Netzwerkverbindung?

36

Ist es möglich, SSHin ein RPi ohne Netzwerkverbindung einzusteigen?

Ich könnte mir vorstellen, dass Sie es mit einem LAN-Kabel vom Computer zum RPi oder vielleicht mit einem USB-Kabel tun könnten.

Ich habe tatsächlich Zugang zu einem Netzwerk, aber es erlaubt keine eingehenden Verbindungen (auch nicht von lokalen IPs) zu irgendwelchen Ports außer 80 und 443, wie ich mir vorstellen kann.

Tyilo
quelle
3
Benutze einfach ein Crossover-Kabel, ich denke, das ist die Lösung, die du brauchst;). Schließen Sie alle Kabel wie folgt an das UTP-Kabel an: numitechsolutions.com/wp-content/uploads/2012/01/… und verbinden Sie es dann mit Ihrem PI und PC. Gib ihnen eine IP, fertig;).
Laurence
Bezüglich des Verbindungsprozesses gibt es einen großartigen Artikel: Raspberry Pi Remote Connections - Without A Network! . Hier werden sowohl die Mac- als auch die Windows-Laptop-Konfiguration erläutert.
Tomáš Zato,
1
Mit modernen Ethernet-Adaptern wird kein Crossover mehr benötigt. Geben Sie auf einer Windows-Box einfach Ihre WIFI-Netzwerkverbindung (offene Adaptereigenschaften, Freigabe) für Ihr LAN frei. Das RPI erhält von dort eine IP-Adresse. Dadurch erhalten Sie von der Windows-Box aus SSH-Zugriff auf Ihr RPi, jedoch keinen externen Zugriff.
fcm
Wie fcm mitteilt, gehören Crossover-Kabel heute größtenteils der Vergangenheit an . Zeitgemäße Ethernet-Schnittstellen, einschließlich derjenigen auf dem Pi, kreuzen sich beim Zusammenstecken physisch.
Goldlöckchen
Ich bin auch bei diesem Problem geblieben und jetzt kann ich es tun. Also muss ich meine Lösung teilen. Sie können als diesen Link sehen, topboxbox.blogspot.com/2017/11/…
TopBoxBox 18.11.17

Antworten:

6

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 ü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 über die Starts hinweg bestehen.

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-Dämon 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. speichern

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, beispielsweise auch die 2012 Lenovo T430 ich getestet, was hat eine „Intel® 82579LM Gigabit Network Connection“ , die Dokumente für Auto - MDI-X unterstützen .

Jetzt können Sie auch:

  • Greifen Sie vom PI über Ihre Ubuntu-WLAN-Verbindung auf das Internet zu
  • Öffnen Sie eine 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

Siehe auch

Ähnliche Frage zu Stack Overflow: https://stackoverflow.com/questions/16040128/hook-up-raspberry-pi-via-ethernet-to-laptop-without-router

Ciro Santilli ist ein Schauspieler
quelle
Sie sollten nicht immer die gleiche Antwort wiederholen . Machen Sie stattdessen einen Kommentar mit einem Link zu Ihrer ersten Antwort oder machen Sie höchstens eine neue Antwort mit einem anderen Aspekt und einem Link zur ersten Antwort als Referenz.
Ingo
@Ingo Ich glaube, diese Antwort ist die bisher beste für beide Fragen. Wenn Sie der Meinung sind, dass ich eine der Fragen nicht beantwortet habe, teilen Sie mir bitte mit, wie. Ein Kommentar verschwindet einfach im Meer der Kommentare, und andere wiederholen denselben Inhalt mit einer anderen Formulierung.
Ciro Santilli新疆改造中心法轮功六四事件
2

Sie können dies ganz einfach tun, indem Sie Ihren Pi über ein LAN-Kabel an einen Laptop anschließen. Bitte stellen Sie sicher, dass (in der Liste, während Sie es zum ersten Mal tun) Sie einen DHCP-Server auf Ihrem Laptop haben und die LAN-Schnittstelle abhören, die Sie für die Verbindung mit pi verwenden. Sie müssen Himbeere irgendwie Adresse zuweisen.

Codewarrior
quelle
Sie brauchen kein DHCP.
Laurence
1
Wenn Sie die IP-Adresse statisch konfiguriert haben, müssen Sie dies nicht tun. Wenn nicht, brauchen Sie etwas, um Ihnen eine IP-Adresse zu geben.
Codewarrior
2

Für mich ist es am bequemsten, USB-Tethering auf meinem Android-Gerät zu verwenden, es mit der Himbeere und dann mit SSH von meinem Handy zur Himbeere zu verbinden.

Siehe diesen Beitrag SSH von Android zu RPI mit USB?

philx_x
quelle
1

Das Problem ist, dass Sie 2 Geräte desselben Typs verbinden möchten. Aber es ist immer noch möglich. Sie können hierfür ein Crossover-Kabel verwenden (Methode 1) oder einen Switch oder Hub verwenden, um automatisch eine Crossover-Verbindung herzustellen (Methode 2). Oder verwenden Sie einfach einen einfachen Router (Methode 3).

Verbindung herstellen

Methode 1:

Verwenden Sie ein Crossover-Kabel und verbinden Sie Ihren PC und PI:

Ein Ethernet-Crossover-Kabel ist eine Art Ethernet-Kabel, mit dem Computergeräte direkt miteinander verbunden werden. Normale Straight-Through- oder Patch-Kabel wurden verwendet, um eine Verbindung zwischen einem Host-Netzwerkschnittstellen-Controller (einem Computer oder einem ähnlichen Gerät) und einem Netzwerk-Switch, Hub oder Router herzustellen. Ein Kabel mit Verbindungen, die sich überkreuzen, wurde verwendet, um zwei Geräte des gleichen Typs zu verbinden: zwei Hosts oder zwei Switches. Dank der Aufnahme von Auto-MDIX-Fähigkeit.

Sie müssen die Kabel im UTP-Kabel folgendermaßen anschließen: http://www.incentre.net/wp-content/uploads/2015/02/ethcablerj45cr.gif

Quelle: http://en.wikipedia.org/wiki/Ethernet_crossover_cable

Methode 2:

Sie können auch ein modernes Twisted-Pair-Ethernet-Kabel verwenden, um eine Verbindung zu Ihrem PI herzustellen. Dafür benötigen Sie jedoch einen Hub oder Switch:

Verbindungen können mit einem direkten Kabel über einen MDI-X-Port hergestellt werden, der auch als "interne Frequenzweiche" oder "eingebettete Frequenzweiche" bezeichnet wird. Hub- und Switch-Ports mit solchen internen Frequenzweichen sind normalerweise als solche mit "Uplink" oder "X" gekennzeichnet. Beispielsweise kennzeichnet 3Com normalerweise die Ports 1X, 2X usw. In einigen Fällen wird eine Schaltfläche bereitgestellt, mit der ein Port entweder als normaler oder als Uplink-Port fungieren kann.

Quelle: http://en.wikipedia.org/wiki/Ethernet_over_twisted_pair

Mehr Informationen:

Das 1998 eingeführte System machte die Unterscheidung zwischen Uplink- und normalen Ports und manuellen Wahlschaltern bei älteren Hubs und Switches überflüssig. Wenn eines oder beide der beiden angeschlossenen Geräte über die automatische MDI / MDI-X-Konfigurationsfunktion verfügen, sind keine Crossover-Kabel erforderlich. Obwohl Auto-MDIX als optionale Funktion im 1000BASE-T-Standard festgelegt wurde, wird es in der Praxis auf den meisten Schnittstellen weitgehend implementiert. Neben dem eventuell vereinbarten automatischen MDI / MDI-X kann auf diese Funktion auch mit verschiedenen herstellerspezifischen Begriffen verwiesen werden, darunter: Auto-Uplink und Handel, Universal Cable Recognition und Auto Sensing.

Quelle: http://en.wikipedia.org/wiki/Ethernet_crossover_cable

Methode 3

Verwenden Sie einen Router und verbinden Sie PI und PC mit dem Router.

Stellen Sie die Verbindung her

Geben Sie beiden eine IP-Adresse im selben Bereich, zum Beispiel:

PC: 192.168.1.10 Subnet: 255.255.255.0
PI: 192.168.1.11 Subnet: 255.255.255.0

Wie das geht, erfahren Sie hier: http://www.cyberciti.biz/faq/linux-configure-a-static-ip-address-tutorial/

Aktivieren Sie SSH

http://steve.dynedge.co.uk/2012/05/29/enabling-ssh-on-debian-raspberry-pi/

Stellen Sie eine Verbindung zum PI her

Verwenden Sie unter Windows beispielsweise Putty .

Andere Methode:

Sie können auch hier nachschauen: http://www.linux-usb.org/usbnet/

Laurence
quelle
Wie funktioniert Methode 2? Benötige ich keine aktive Netzwerkverbindung auf meinem Computer?
Tyilo
Ich habe diesen Teilstrahl nicht beendet. Gib mir 1 Sek.
Laurence
4
Ich dachte, dass die Zeit, in der die Leute Crossover-Kabel verwenden müssen, für immer vorbei ist :) Im Moment kann jede neue Ethernet-Karte das Crossing ohne Crossover-Kabel durchführen.
Codewarrior
Man weiß nie, welchen PC er hat, außerdem kann man immer ein UTP-Kabel ausprobieren.
Laurence
Normale gerade Ethernet-Kabel funktionieren mit PI 2, lesen Sie irgendwo nach, dass die Schnittstelle dies erkennen kann. Gerade auf Ubuntu 16.04, RPI 2 Raspbian 2016.05 getestet.
Ciro Santilli