ssh ne fonctionne pas


10

Je ne suis pas en mesure de ssh dans mon pi. RPI est connecté directement à mon PC hôte.

J'ai défini l'adresse IP de mon hôte: ----

sudo ifconfig eth0 192.168.0.204 netmask 255.255.255.0 up
sudo route add default gw 192.168.0.200

Pi a l'IP par défaut dans le fichier d'interface réseau comme: ----

auto lo eth0
iface lo inet loopback
iface eth0 inet static
    address 192.168.0.202
    netmask 255.255.255.0
    gateway 192.168.0.200

si config comand sur mon PC: -----

ignite@ignite-desktop:~$ ifconfig
eth0      Link encap:Ethernet  HWaddr 6c:f0:49:f3:a6:1b  
          inet addr:192.168.0.204  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::6ef0:49ff:fef3:a61b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:681 errors:0 dropped:0 overruns:0 frame:0
          TX packets:208 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:43752 (43.7 KB)  TX bytes:33407 (33.4 KB)
          Interrupt:26 Base address:0x4000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:12 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1012 (1.0 KB)  TX bytes:1012 (1.0 KB)

Ping travaille pour le même hôte: ----

ignite@ignite-desktop:~$ ping 192.168.0.204
PING 192.168.0.204 (192.168.0.204) 56(84) bytes of data.
64 bytes from 192.168.0.204: icmp_seq=1 ttl=64 time=0.026 ms
64 bytes from 192.168.0.204: icmp_seq=2 ttl=64 time=0.018 ms
64 bytes from 192.168.0.204: icmp_seq=3 ttl=64 time=0.017 ms
64 bytes from 192.168.0.204: icmp_seq=4 ttl=64 time=0.014 ms

Ping travaille pour pi à partir de mon PC hôte: ----

ignite@ignite-desktop:~$ ping 192.168.0.202
PING 192.168.0.202 (192.168.0.202) 56(84) bytes of data.
64 bytes from 192.168.0.202: icmp_seq=1 ttl=64 time=0.530 ms
64 bytes from 192.168.0.202: icmp_seq=2 ttl=64 time=0.508 ms
64 bytes from 192.168.0.202: icmp_seq=3 ttl=64 time=0.464 ms
64 bytes from 192.168.0.202: icmp_seq=4 ttl=64 time=0.445 ms
64 bytes from 192.168.0.202: icmp_seq=5 ttl=64 time=0.434 ms

SSH ne fonctionne pas

ignite@ignite-desktop:~$ ssh pi@raspberrypi
ssh: Could not resolve hostname raspberrypi: Name or service not known

ignite@ignite-desktop:~$ ssh pi@192.168.0.202
Read from socket failed: Connection reset by peer

ignite@ignite-desktop:~$ ssh 192.168.0.202 -l pi
Read from socket failed: Connection reset by peer

Veuillez suggérer comment le résoudre?

modifier: ---
ssh -vvv pi@192.168.0.202 ---> la sortie est

ignite@ignite-desktop:~$ ssh -vvv pi@192.168.0.202
OpenSSH_5.1p1 Debian-6ubuntu2, OpenSSL 0.9.8g 19 Oct 2007
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.0.202 [192.168.0.202] port 22.
debug1: Connection established.
debug1: identity file /home/ignite/.ssh/identity type -1
debug1: identity file /home/ignite/.ssh/id_rsa type -1
debug1: identity file /home/ignite/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.0p1 Debian-2
debug1: match: OpenSSH_6.0p1 Debian-2 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.1p1 Debian-6ubuntu2
debug2: fd 3 setting O_NONBLOCK
debug1: SSH2_MSG_KEXINIT sent
Read from socket failed: Connection reset by peer

1
Avez-vous vérifié que le démon ssh est en cours d'exécution?
codé le

en fait, je n'ai pas d'écran HDMI et j'utilisais mon ordinateur de bureau distant pour me connecter à pi en utilisant ssh. Maintenant, comment puis-je le vérifier?
Allan

ps aux | grep sshd
codey

Si sshd est en cours d'exécution, la sortie affichera le ou les processus sshd. Outre le "grep sshd" que nous venons de lancer, bien sûr.
codé

Réponses:


5

J'ai eu le même problème avec raspbian nouvellement installé et le problème était avec les clés d'hôte ssh côté serveur.

Ces clés ne sont pas générées sur l'image pour les raisons que chaque périphérique doit avoir des clés ssh différentes et au premier démarrage, ces clés sont générées automatiquement.

Mon problème était que probablement lors de la génération de ces clés, je débranche l'alimentation, elles étaient incorrectes avec une taille nulle.

La solution consiste à régénérer les clés d'hôte côté serveur ssh:

rm /etc/ssh/ssh_host_*
dpkg-reconfigure openssh-server

https://wiki.debian.org/SSH#Regenerating_host_keys


2
comment régénérer les clés d'hôte côté serveur ssh (dpkg-reconfigure openssh-server) si elles ne peuvent pas se connecter en premier lieu?
Hayri Uğur Koltuk

Exactement @ HayriUğurKoltuk Je suis sur un Mac, comment pourrais-je faire ça?
clearlight

4

Raison du problème et correction

Sans programmes spéciaux, vous ne pouvez pas accéder au Pi en utilisant son nom d'hôte. Pour les réseaux LAN, envoyez une requête ping à l'hôte. Une fois que vous avez l'IP, notez-le. Écrivez ensuite dans le terminal:

ssh pi@this_is_the_ip

et vous devriez pouvoir vous connecter.

Si vous souhaitez accéder au Pi depuis l'extérieur de votre réseau domestique, vous devez rediriger le port de votre routeur. En fait, il y a une question d'échange de pile sur la façon de procéder.

En supposant que vous souhaitiez toujours utiliser un joli nom pour votre Pi, il existe une option qui fonctionnera à la fois au sein de votre réseau et sans celui-ci.

DNSDynamic

Ce logiciel vous permet de configurer un nom de domaine pour votre pi.

  1. Accédez à leur site Web et créez un nom de domaine et un compte.

  2. Installez ddclientsur votre Pi.

    sudo apt-get install ddclient 
    

    Et puis modifiez les paramètres de configuration.

    sudo nano /etc/ddclient.conf
    

    Enfin, modifiez le fichier comme suit:

# /etc/ddclient.conf

daemon=600

timeout=10

ssl=yes

protocol=dyndns2

use=web, web=myip.dnsdynamic.com #Enter your URL here

server=www.dnsdynamic.org

login=x@gmail.com  #userid for dnsdynamic.com

password='xxxx'      #password for the same put inside quotes

x.dnsdynamic.com  #the domain name you created

En supposant que vous souhaitiez que cela démarre automatiquement à chaque réveil de votre ordinateur, entrez les informations suivantes dans le terminal.

sudo nano /etc/rc.local

Ajoutez la commande suivante avant exit 0(qui est la dernière ligne)

sudo /usr/sbin/ddclient -daemon 600 -syslog

Enfin, vous devez toujours rediriger.

J'espère que cela vous sera utile. Posez des questions dans la section des commentaires ci-dessous.


En fait, j'ai compilé et installé le dernier openssl sur mon RPi cible. Maintenant, ssh ne fonctionne pas pour moi Est-ce que ssh dépend de openssl?
Allan

SSL (couche de sockets sécurisés) n'est pas nécessaire pour exécuter SSH. C'est peut-être le problème dans cette configuration. Mais essayez d'utiliser l'IP locale du Pi au lieu de son nom d'hôte.
xxmbabanexx

j'ai posté o / p pour -----> ssh -vvv pi@192.168.0.202 ---> pouvez-vous suggérer quel est le problème
Allan

j'ai régénéré les clés sur mon hôte et ma cible .. supprimé le fichier hôte connu de ~ / .ssh ... cela a fonctionné ...
Allan

supprimer tous les fichiers de: --- / etc / ssh ----> à l'exception de shh_config ---> et modifier la configuration ssh selon ce lien ---> blog.harshadura.net/2012/01/…
Allan

0

Vous pouvez consulter ma réponse à ces questions.

Comment obtenir l'adresse IP du Raspberry Pi pour SSH

Une autre possibilité que je n'ai pas mentionnée est d'acheter un domaine (c'est très bon marché) et de jouer avec le DNS. J'ai acheté le domaine aasgard.infopour 0,99 centime et attribué un nom ygdrasill.aasgard.infoà une adresse interne ( 192.168.1.141dans ce cas). Ensuite, vous devez définir le domaine par défaut comme le nom de domaine que vous avez acheté et le tour est joué :)

Je dois avouer qu'après avoir passé tout le temps à configurer le domaine, j'ai réalisé que l'utilisation du fichier / etc / hosts ou avahi était beaucoup plus facile :)


0

Êtes-vous sûr d'avoir démarré un serveur SSH sur votre Raspberry Pi? Ce n'est pas parce que vous pouvez faire un ping qu'il exécute un serveur SSH. Essayez sshdun serveur SSH léger.


0

Activer SSH

Depuis la version de novembre 2016, Raspbian a le serveur SSH désactivé par défaut.

Il peut être activé manuellement depuis le terminal:

sudo raspi-config
Select Interfacing Options
Navigate to and select SSH
Choose Yes
Select Ok
Choose Finish

ou

Launch Raspberry Pi Configuration from the Preferences menu
Navigate to the Interfaces tab
Select Enabled next to SSH
Click OK

Vous pouvez également utiliser systemctl pour démarrer le service

sudo systemctl enable ssh
sudo systemctl start ssh

-1

La connectivité SSH est désactivée par défaut dans la dernière version de raspberry pi. Les RPi sortis en novembre 2016 ou après.

Les étapes sont les suivantes: 1) Ecrire une image raspbian sur la carte SD. 2) créez un fichier ssh sans extension. 3) copiez ce fichier ssh sur la carte SD où votre image est écrite. 4) Enfin, vous pourrez SSH votre Raspberry Pi.

Pour plus de détails, regardez cette vidéo: https://www.youtube.com/watch?v=zKT6bTESlLs


2
Bienvenue sur Raspberry Pi! Veuillez faire le tour et visiter le centre d' aide pour voir comment les choses fonctionnent ici. Notez que cette question date de 2013. À l'époque, le problème que vous décrivez n'était pas du tout un problème ...
Ghanima
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.