Warum kann Ubuntu nicht über LAN auf meinen Raspberry Pi zugreifen?

9

Okay, ich habe kürzlich einen Raspberry Pi bekommen und ihn mit meinem Wi-Fi verbunden - ich habe den SSH aktiviert und Hiawatha installiert, und ich konnte von meinem Desktop, auf dem zu diesem Zeitpunkt Puppy Linux lief, problemlos darauf zugreifen.

Ich konnte auch gut darauf zugreifen, wenn ich unter Windows gestartet wurde (PuTTY unter Win XP Pro), und das Netbook konnte auch über PuTTY darauf zugreifen. (Win 7 Starter)

Beim Booten von Ubuntu wurden jedoch alle SSH-, HTTP- und HTTPS-Verbindungen abgelehnt. Um zu bestätigen, dass Ubuntu und nur Ubuntu Verbindungsprobleme hatten, habe ich Puppy Linux neu gestartet - eine gute Verbindung und Windows - eine gute Verbindung. Das Netbook konnte auch ohne Probleme eine Verbindung zu allen drei Diensten herstellen. Es war nur Ubuntu, das besagte Verbindung verweigerte.

Ich möchte wissen, was falsch ist - ich habe bereits alle grundlegenden Fehlerbehebungsmaßnahmen durchgeführt: Neustart des RPi, Neustart meines Computers, Neustart des WLAN-Routers usw. Auf dem Raspberry Pi ist keine Firewall aktiviert, und mein Router bietet alle angeschlossenen Geräte an LAN uneingeschränkter Zugriff aufeinander. Ich habe umfangreiche Tests durchgeführt, und Ubuntu hat sich zweifelsohne als der einzige erwiesen, der nicht bereit ist, eine Verbindung herzustellen.

UPDATE: Ich habe gerade den Zugriff über meine externe IP getestet und alles läuft unter Ubuntu reibungslos! Ubuntu kann jedoch immer noch nicht von einem lokalen Ort aus auf den Pi zugreifen, und ich habe gerade erneut bestätigt, dass dies bei meinen anderen Betriebssystemen möglich ist . Ich finde es seltsam, dass Ubuntu Probleme hat, eine lokale Verbindung herzustellen (im Gegensatz zu meinen anderen Betriebssystemen), aber über meine externe IP-Adresse problemlos auf den Pi zugreifen kann.

UPDATE 2: Durch Deaktivieren meiner Firewall kann ich auf das Gerät zugreifen , das Kennwort wird jedoch jedes Mal als falsch gemeldet . Single . Zeit . Ich habe versucht, es in Gedit einzugeben und es dann während der SSH-Anmeldung per Drag & Drop in die Kennwortabfrage zu ziehen. Die Autorisierung erfolgt beim Zugriff [email protected], jedoch NICHT beim Zugriff [email protected]. Das ist unglaublich frustrierend.

JamesTheAwesomeDude
quelle
2
Bitte zeigen Sie uns die Protokolle. ssh -vvv user@hostauf der Clientseite, sudo tail -f /var/log/auth.logauf der Serverseite. Vielleicht ist es sinnvoll, die Ausführlichkeit auch in der SSH-Serverkonfiguration zu erhöhen.
Andrejs Cainikovs
Es gibt wirklich nichts Interessantes, nur eine Nachricht "Verbindung abgelehnt": pastebin.com/Nc1W8Mja
JamesTheAwesomeDude
3
Zu Ihrer Information: Es gibt auch einen Himbeerstapel raspberrypi.stackexchange.com
Meer Borg
3
@MeerBorg Ich bin dort bereits ein Benutzer , und ich habe tatsächlich darüber nachgedacht, dies dort zu fragen, ABER Ubuntu ist der einzige, der Probleme beim Verbinden hat. Wenn ich über keine Methode eine Verbindung herstellen könnte, würde ich ein Problem mit dem Pi selbst vermuten, aber da Ubuntu hier draußen das seltsame ist, habe ich beschlossen, es auf dieser Site zu erfragen.
JamesTheAwesomeDude
@JamesTheAwesomeDude, es sollte etwas Beschreibenderes geben, als eine einfache Verbindung abgelehnt . Diese Meldung ist ein Ergebnis, es sollte jedoch auch eine Fehlermeldung angezeigt werden.
Andrejs Cainikovs

Antworten:

1

Bis Sie die ufwStandardeinstellungen auf Ihrem Ubuntu-Computer aktiviert hatten, wurde die Verbindung immer gemeldet Connection refused. Nachdem Sie den ufwClient auf Ihrem Client deaktiviert haben, wird die Verbindung hergestellt, aber das Kennwort wird immer abgelehnt.

Ich würde in diesem Fall vermuten, dass Ihr Problem darin besteht, dass die 192.168.2.128IP-Adresse zurück zu Ihrem Client-Ubuntu-Computer geleitet wird und Sie tatsächlich eine Verbindung zu dem sshServer herstellen, der auf Ihrem Ubuntu-Computer ausgeführt wird. Dies würde erklären:

  • Warum Sie eine Verbindung über das Internet herstellen können.

  • Warum Ihre Verbindung abgelehnt wurde, als die Firewall auf Ihrem Ubuntu-Client aktiviert war.

  • Warum die Verbindung bei ausgeschalteter Client-Firewall nicht mehr abgelehnt wird.

  • Warum jetzt die Verbindung hergestellt wird, aber die Authentifizierung fehlschlägt.

So beheben Sie diesen Fall:

  • Überprüfen Sie den Hostschlüssel des Servers mit ssh -v [email protected]auf eine lokale und eine Internetverbindung. Gibt es den gleichen Schlüssel?

  • Oder während Sie eine Verbindung von lokal herstellen und an der Eingabeaufforderung aufgefordert werden, Ihr Kennwort von einem anderen Terminal aus einzugeben: sudo netstat -tupanund prüfen Sie, ob eine Verbindung zu sshdIhrem Ubuntu hergestellt wurde.

Dieser Fall würde zwar alles erklären, aber es ist so seltsam, dass ich Zweifel habe, dass dies Ihr Problem ist.

Falkner
quelle
#ufw Erlaube <Port>, eine Ausnahme hinzuzufügen. #ssh -v user @ address, um eine ausführliche Ausgabe zu erhalten, die Ihnen mehr darüber erklärt, warum Sie keine Verbindung herstellen können. "Verbindung abgelehnt" bedeutet häufig, dass der Standardport falsch ist oder der Firewall-Client oder -Server die Verbindung blockiert.
j0h
1
@ j0h Ich denke du wolltest diesen Kommentar als Kommentar zur Frage posten. Aber trotzdem: In den Kommentaren lieferte das OP bereits eine ssh -vvvAusgabe. Er sagte auch in der Frage, dass auf dem Pi keine Firewall aktiviert ist, so dass das UFW auf dem Client ist, und er sagte, er habe es deaktiviert, aber er kann sich immer noch nicht anmelden. Der Port kann auch kein Problem sein, weil er kann von anderen Computern aus eine Verbindung zu demselben Port herstellen.
Falkner
1

Es ist durchaus möglich, dass Ihr Ubuntu-Computer eine andere Netzwerk-IP-Adresse erhält als erwartet. Versuche Folgendes:

  • Überprüfen Sie auf dem Raspi die IP-Adresse mit ifconfig | grep 192.168
  • Überprüfen Sie auf dem Ubuntu-Computer die IP-Adresse mit ifconfig | grep 192.168

Um in Ihrem lokalen Netzwerk miteinander kommunizieren zu können, sollten beide dasselbe Subnetz verwenden. Überprüfen Sie im dritten Abschnitt der IP-Adresse, ob dies der Fall ist. In Ihrem Fall sollten sich beide im Subnetz 192.168.2. * Befinden.

Stellen Sie sicher, dass sie auch unterschiedliche IP-Adressen haben. Dies mag offensichtlich erscheinen, kann jedoch passieren, wenn einer von ihnen DHCP verwendet und der andere statisch eingestellt ist.

Wenn das alles ausgecheckt ist, führen Sie den folgenden Befehl aus, um zu sehen, wohin Ihre Pakete gehen sollen:

route -n

Suchen Sie in der Ausgabe nach dem Ziel-Subnetz, das für Ihren Himbeer-Pi gilt. Es sollte eigentlich nur 3 Zeilen geben:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     1      0        0 eth0

Wenn Sie mehr Reihen haben oder Dinge zu seltsamen Stellen werden, dann ist das die Antwort.

Ich vermute, dass Ihre SSH-Verbindung auf einen anderen SSH-Server als den auf Ihrem Himbeer-Pi trifft, weshalb das Ändern der Ubuntu-Firewall davon betroffen ist und Ihre Anmeldungen nicht funktionieren.

ImaginaryRobots
quelle
0

Je nachdem, was sich in Ihrem PasteBin befindet, zeigt die "Verbindung abgelehnt" an, dass Sie einen TCP-Reset von der IP-Adresse erhalten.

Sanity Check: Deaktivieren Sie während der Fehlerbehebung ufw.

Können Sie bei deaktivierter Desktop-Firewall den Pi von Ihrem Desktop aus anpingen? Können Sie den Desktop von Ihrem Pi aus anpingen?

Überprüfen Sie nach dem Versuch, in beide Richtungen zu pingen, die Ausgabe von 'arp -n' auf beiden Computern. Sehen sie die MAC-Adressen (Ethernet-Hardware) des anderen oder wird der Datenverkehr umgeleitet / abgefangen?

Wenn Sie in beide Richtungen pingen können und 'arp -n' angibt, dass die richtigen MAC-Adressen verwendet werden (überprüfen Sie 'ifconfig' auf dem gegenüberliegenden Computer), besteht der nächste Schritt darin, /var/log/auth.log auf dem Pi zu untersuchen. Es sollte Ihnen sagen, was mit dem Verbindungsversuch nicht stimmt.

Wenn das oben genannte nicht hilft, zeigen Sie uns bitte die Ausgabe der folgenden Befehle auf dem Pi:

sudo ifconfig -a
cat /etc/resolv.conf
arp -n
netstat -rn
sudo iptables-save
sudo grep ssh /var/log/auth.log | tail -50

Und auf Ihrem Desktop:

sudo ifconfig -a
cat /etc/resolv.conf
arp -n
netstat -rn
sudo iptables-save

Ich sehe einige davon in den obigen Kommentaren eingefügt, aber das Ganze ist wichtig, um es zuerst bei ausgeschalteter Firewall zu greifen. Wenn Sie es bei ausgeschalteter Firewall zum Laufen bringen können, können Sie mit der Fehlerbehebung bei Ihren Firewall-Regeln fortfahren.

Auch wenn Sie auf eine IP-Adresse abzielen, sind die DNS-Einstellungen weiterhin wichtig, da SSH DNS während der Überprüfung des Hostschlüssels verwendet.

Luno
quelle
0

~/.ssh/known_hostsDatei löschen und erneut versuchen. Wenn zuvor ein Host mit derselben IP-Adresse ssh verfügbar war, behalten Sie möglicherweise einen ungültigen Fingerabdruck

Jet
quelle
0

Unter Ubuntu 13.10 konnte ich nicht auf mein Pi ssh, als ich es zuvor auf 13.04 und Mint 16 konnte. Beim Versuch

ssh -vvv user@host

Ich habe :

debug1: expecting SSH2_MSG_KEX_ECDH_REPLY

Ich bin auf einen Vorschlag gestoßen, der besagt, dass die MTU für die Maschine (nicht die pi) auf 1200 anstatt auf automatisch eingestellt werden soll. Ich tat dies, schaltete aus -> dann über mein WLAN und verband mich beim ersten Versuch mit ssh mit PI. Hoffe das hilft jemandem.

Priizim
quelle
So ändern Sie die MTU: askubuntu.com/questions/230926/…
jmunsch