Pourquoi Ubuntu ne peut-il pas accéder à mon Raspberry Pi via LAN?

9

D'accord, j'ai récemment obtenu un Raspberry Pi et je l'ai connecté à mon Wi-Fi - j'ai activé le SSH et installé Hiawatha, et je pouvais y accéder très bien depuis mon bureau, qui exécutait Puppy Linux à l'époque.

Je pouvais également y accéder très bien au démarrage de Windows (PuTTY sur Win XP Pro) et le Netbook pouvait également y accéder via PuTTY. (Win 7 Starter)

Cependant, lorsque j'ai démarré dans Ubuntu, toutes les connexions SSH, HTTP et HTTPS ont été refusées. Pour confirmer que c'était Ubuntu, et seulement Ubuntu, qui avait des problèmes de connexion, j'ai redémarré dans Puppy Linux - bien connecté, et dans Windows - bien connecté. Le Netbook peut se connecter aux 3 services sans problème non plus. C'est juste Ubuntu qui a refusé la connexion.

Je voudrais savoir ce qui ne va pas - j'ai déjà fait tout le dépannage de base: redémarrage du RPi, redémarrage de mon ordinateur, redémarrage du routeur sans fil, etc. Le Raspberry Pi n'a pas de pare-feu activé, et mon routeur propose tous les appareils connectés à Accès illimité au réseau local. J'ai fait des tests approfondis et Ubuntu a été prouvé sans l'ombre d'un doute être le seul à ne pas vouloir se connecter.

MISE À JOUR: Je viens de tester l'accès via mon IP externe, et tout fonctionne bien sur Ubuntu! Cependant, Ubuntu ne peut toujours pas accéder au Pi à partir de quelque chose de local, et je viens de confirmer à nouveau que mes autres systèmes d'exploitation peuvent . Je pense que c'est bizarre qu'Ubuntu ait du mal à se connecter localement (contrairement à mes autres OS), mais accède très bien au Pi via mon IP externe.

MISE À JOUR 2: la désactivation de mon pare-feu me permet d' accéder à l'appareil, mais le mot de passe est incorrect à chaque fois . célibataire . le temps . J'ai essayé de le taper dans Gedit, puis de le glisser-déposer dans l'invite de mot de passe lors de la connexion SSH, et il autorise lors de l'accès [email protected], mais PAS lors de l'accès [email protected]. C'est incroyablement frustrant.

JamesTheAwesomeDude
la source
2
Veuillez nous montrer les journaux. ssh -vvv user@hostcôté client, côté sudo tail -f /var/log/auth.logserveur. Il est peut-être également judicieux d'augmenter la verbosité dans la configuration du serveur SSH.
Andrejs Cainikovs
Il n'y a vraiment rien d'intéressant, juste un message "connexion refusée": pastebin.com/Nc1W8Mja
JamesTheAwesomeDude
3
Pour info: il y a aussi une pile de framboises raspberrypi.stackexchange.com
Meer Borg
3
@MeerBorg J'y suis déjà un utilisateur , et j'ai envisagé de le demander, MAIS Ubuntu est le seul à avoir des problèmes de connexion. Si je ne pouvais pas me connecter via aucune méthode, je soupçonnerais un problème avec le Pi lui-même, mais comme Ubuntu est le plus étrange ici, j'ai pris la décision de le demander sur ce site.
JamesTheAwesomeDude
@JamesTheAwesomeDude, il devrait y avoir quelque chose de plus descriptif que la connexion ordinaire refusée . Ce message est un résultat, mais il devrait également y avoir un message d'erreur.
Andrejs Cainikovs

Réponses:

1

Donc, jusqu'à ce que vous ayez ufwactivé les paramètres par défaut sur votre machine Ubuntu, la connexion a toujours signalé Connection refused. Après avoir désactivé le ufwclient sur vous, la connexion est établie mais le mot de passe est toujours rejeté.

Je suppose que dans ce cas, votre problème est que l' 192.168.2.128IP est redirigée vers votre machine Ubuntu cliente, et en fait vous vous connectez au sshserveur fonctionnant sur votre machine Ubuntu. Cela expliquerait:

  • Pourquoi vous pouvez vous connecter depuis Internet.

  • Pourquoi votre connexion a été rejetée lorsque le pare-feu était activé sur votre client Ubuntu.

  • Pourquoi la connexion n'est plus rejetée avec le pare-feu client désactivé.

  • Pourquoi maintenant la connexion est établie, mais l'authentification échoue.

Pour résoudre ce cas:

  • Vérifiez la clé d'hôte du serveur à la ssh -v [email protected]fois pour une connexion locale et pour une connexion Internet. Signale-t-il la même clé?

  • Ou alors que vous vous connectez à partir du local, et que vous êtes invité à taper votre mot de passe, à partir d'un autre terminal: sudo netstat -tupanet voyez si une connexion est établie avec le sshdsur votre Ubuntu.

Bien que ce cas explique tout, mais c'est tellement bizarre que j'ai des doutes que c'est votre problème.

fauconnier
la source
#ufw autorise <port> à ajouter une exception. #ssh -v user @ address pour obtenir une sortie détaillée, qui vous en dira plus sur les raisons pour lesquelles vous ne pouvez pas vous connecter. "connexion refusée" signifie fréquemment que le port par défaut est incorrect, ou que le client ou le serveur de pare-feu bloque la connexion.
j0h
1
@ j0h Je pense que vous vouliez poster ce commentaire comme commentaire à la question. Mais de toute façon: dans les commentaires, l'OP a déjà fourni une ssh -vvvsortie. Il a également dit dans la question que le Pi n'a pas de pare-feu activé, donc l'ufw est sur le client, et il a dit qu'il l'a désactivé, mais il ne peut toujours pas se connecter. Le port ne peut pas être un problème non plus car il peut se connecter à ce même port à partir d'autres machines.
fauconnier
1

Il est tout à fait possible que votre machine Ubuntu obtienne une adresse IP réseau différente de celle attendue. Essayez ce qui suit:

  • Sur le raspi, vérifiez son adresse IP avec ifconfig | grep 192.168
  • sur la machine ubuntu, vérifiez son adresse IP avec ifconfig | grep 192.168

Afin de pouvoir se parler sur votre réseau local, ils devraient tous deux utiliser le même sous-réseau - regardez la troisième section de l'adresse IP pour voir s'ils le sont. Dans votre cas, ils doivent tous deux se trouver sur le sous-réseau 192.168.2. *.

Assurez-vous qu'ils ont également des adresses IP différentes . Cela peut sembler évident, mais cela peut se produire si l'un d'eux utilise DHCP et l'autre est défini de manière statique.

Si tout cela est vérifié, exécutez la commande suivante pour voir où vos paquets sont censés aller:

route -n

Recherchez dans la sortie le sous-réseau de destination qui s'applique à votre Raspberry Pi. Il ne devrait vraiment y avoir que 3 lignes:

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

Si vous avez plus de lignes ou que les choses vont à des endroits étranges, alors c'est la réponse.

Je suppose que votre connexion ssh finit par frapper un serveur SSH différent de celui de votre raspberry pi, c'est pourquoi la modification du pare-feu ubuntu l'a affecté et vos connexions ne fonctionnent pas.

ImaginaryRobots
la source
0

Selon ce qui se trouve dans votre PasteBin, la «connexion refusée» indique que vous obtenez une réinitialisation TCP de tout ce qui se trouve à cette adresse IP.

Contrôle de santé mentale: lors du dépannage, désactivez ufw.

Avec le pare-feu de votre bureau désactivé, pouvez-vous envoyer une requête ping au Pi depuis votre bureau? Pouvez-vous cingler le bureau depuis votre Pi?

Après avoir tenté le ping dans les deux directions, regardez la sortie de 'arp -n' sur les deux machines. Voyent-ils les adresses MAC (matériel Ethernet) de l'autre ou quelque chose redirige / intercepte le trafic?

Si vous pouvez envoyer une requête ping dans les deux directions et que «arp -n» indique que les bonnes adresses MAC sont utilisées (vérifiez «ifconfig» sur la machine opposée), l'étape suivante consiste à examiner /var/log/auth.log sur le Pi. Il devrait vous indiquer ce qui ne va pas avec la tentative de connexion.

Si ce qui précède ne vous aide pas, veuillez nous montrer la sortie des commandes suivantes sur le Pi:

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

Et sur votre bureau:

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

Je vois une partie de cela collé dans les commentaires ci-dessus, mais le tout est important à saisir avec le pare-feu désactivé, d'abord. Si vous pouvez le faire fonctionner avec le pare-feu désactivé, vous pouvez alors procéder au dépannage de vos règles de pare-feu.

De plus, même si vous ciblez une adresse IP, les paramètres DNS sont toujours importants car SSH utilise DNS lors de la validation de la clé d'hôte.

Luno
la source
0

Supprimez le ~/.ssh/known_hostsfichier et réessayez. Si auparavant il y avait un hôte avec la même adresse IP ssh accessible, vous pouvez garder une empreinte non valide

jet
la source
0

Sur Ubuntu 13.10, je ne pouvais pas ssh sur mon pi, alors que je le pouvais auparavant sur 13.04 et Mint 16. Lors de l'essai

ssh -vvv user@host

J'ai eu :

debug1: expecting SSH2_MSG_KEX_ECDH_REPLY

J'ai rencontré une suggestion qui disait de définir MTU pour la machine (pas le pi) à 1200 au lieu d'automatique. Je l'ai fait, éteint -> puis sur mon wifi, et connecté avec ssh à PI au premier essai. J'espère que cela aide quelqu'un.

Priizim
la source
Comment changer MTU: askubuntu.com/questions/230926/…
jmunsch