[ssh] pb de connexion serveur ssh, port 22 [Résolu/Fermé]

Signaler
Messages postés
24
Date d'inscription
samedi 17 décembre 2005
Statut
Membre
Dernière intervention
9 septembre 2009
-
 123 -
bonjours
voila j'ai un serveur sous debian

j'ai installer le packtage ssh
malgrer un bonne configuration avec le fichier sshd_config et apres avoir fait et /etc/init.d/ssh start et /etc/init.d/ssh reload (a chaque fois que j'ai modifié le fichier)

le nmap du port 22 me donne :
PORT      STATE    SERVICE
22/tcp      closed    ssh

comment faire pour l'ouvrir ou pour mettre le demon a l'ecoute !!!!
sachant que j'ai deja essayer de purger et de reinstaller ensuite !!!
iptable -L ne me donne rien au niveau ssh ni du port 22!!

ps ax | grep ssh donne :
3847  tty1      S+      0:00 grep ssh


je suis un novice
merci pour votre aide

JULIEN

11 réponses

Messages postés
1569
Date d'inscription
mercredi 30 mars 2005
Statut
Contributeur
Dernière intervention
27 février 2007
486
Si on lance sshd manuellement il faut le faire avec un chemin absolu:
Soit:
/usr/sbin/sshd

ou soit:
/sbin/sshd

(ca depend de ton system lequel des deux cas est bon)
ou si on veut faire avec l'option "-d", alors:
/usr/sbin/sshd -d

soit:
/sbin/sshd -d

(apres verifier avec: "ps aux | grep sshd" si ca tourne effectivement!).

Bien sur il faut etre root pour le faire (alors ne pas oublier de se connecter en root avec "su -" suivi du mot pass). De plus il faut bien sur aussi que le le sshd soit bien installe sur ton systeme. Si ni "/usr/sbin/sshd" ni "/sbin/ssdh" ne marche ce n'est pas installe et tu dois te debrouiller pour l'installer, probablement le machin apt-get ... en Debian (la je ne connais pas les details).

Une fois le sshd marche on peut le tester simplement avec:
ssh localhost

(ici en tant qu'utilisateur simple et pas root !!!) et ca doit te demdander ton mot de passe et apres tu auras un login vers ta propre machin et comme tu ne sors pas te ta machine (c'est seulement une session ssh de ta machine vers la meme machine) ca doit meme marcher si le pare feu n'est pas encore bon (le machin avec iptables).

Une fois ca marche tu dois te debrouiller pour ouvir le pare feu, par exemple avec la commande donne dans <2> de lami20j ou par ton logiciel pare feu que tu utilises (shorewall, firestarte, ce que tu as installe). Ton affiche de <3> n'est pas bien lisible. Je crois ton pare feu semble ouvert mais je ne suis pas sur.

Sinon avec la commande:
iptables -I INPUT -i eth0 -p tcp --dport 22 -j ACCEPT

tu peux completement ouvrir le sshd pour le par feu mais en effet, il est peut-etre mieux de ne le faire que pour une IP, par exemple:
iptables -I INPUT -i eth0 -p tcp --dport 22 -s 192.168.0.0/24 -j ACCEPT

ca ouvre pour ton sous-reseau 192.168.0.x avec x=1, 2, etc.
(PS: il faut faire "-I" et pas "-A" pour mettre la regle au debut et pas a la fin sinon elle ne sert a rien car ce serait derrier la derniere regle DROP).

excuse moi mais je suis un novice

Avec tout respect pour Debian, si tu es debutant qui a de problemes pour la maitrise elementaires des lignes de commandes ce n'est pas forcement le bon choix compare a Mandriva, Ubunto etc. Notamment en Mandriva l'activation de ssh peut se faire en menu comme l'ouverture du pare feu.

Sinon pour les lignes de commandes je te conseille tres vivement de bien etudier ca:
http://doc.mandrivalinux.com/MandrakeLinux/101/fr/Command-Line.html
C'est une doc qui est universelle pour toute distribution de Linux. Il faut vraiement que tu comprenne bien comment ca foncitonne avec les commandes, PATH, chemin absolu, les choses qu'il faut faire en root, etc. Sinon tu vas te battre pour de choses qui ne sont pas pertinentes pour ton probleme. Normalement de faire fonctionner sshd c'est tres facile (simplement lancer avec "/usr/sbin/sshd" et c'est ca!).
10
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
908
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
3 août 2008
492
Salut,
Fournit ici ton 'iptables -L -vn' et 'lsmod | grep ip'.
iptable -L ne me donne rien au niveau ssh ni du port 22!!
Il faut surement que "iptables" autorise une connexion sur le port 22 en tcp.
Messages postés
24
Date d'inscription
samedi 17 décembre 2005
Statut
Membre
Dernière intervention
9 septembre 2009
2
merci beaucoup j'ai deja tester le mode debug (juste apres que j'ai poster me rep ,suffisai de regarder le manuel de open ssh)

sinon
tout a l'air de bien fonctionner sauf peut etre une ligne :
socket: Address family not supported by protocol


sinon "ps aux | grep sshd" me donne maintenant :
 root       tty3  T  11:03  0:00  /usr/sbin/sshd -ddd
root tty3  R+  12:08  0:00   grep sshd 


ms qd je tape ssh localhost avec un autre usr rien en ce passe: le prompt va la ligne et je dosi faire "ctrl-d" pour revenir au shell

ps: j'aime bien me prendre la tete sur des probleme comme ca, car cela me premet de parfaire ma connaisance en linux (d'ailleur il y a un mois je ne connaisais rien en linux et j'ai un dns des serveurs mail et apache qui fonctionnent, manque plus que ssh pour que je sois comblé )

merci encore
Messages postés
1569
Date d'inscription
mercredi 30 mars 2005
Statut
Contributeur
Dernière intervention
27 février 2007
486
Pour se connecter en changeant l'utilisateur, disons vers "toto", tu peux aussi essayer:
ssh toto@localhost

ou
ssh toto@xx.xx.xx.xx

ou xx.xx.xx.xx est ton numero IP internet (a voir avec "/sbin/ifconifg").
Ca permet te connecter sous "toto" (bien sur ce n'est qu'un exemple, si tu as un autre nom utilisateur qui existe dans ton systeme tu prendras ca!). Si on ne met pas "toto@" devant ca prend par default l'utilisateur actuel.

Tu peux aussi regarder les messages du noyau apropos de ssh dans le fichier /var/log/messages. Par exemple pour regarder les dernieres 50 lignes:
tail -50 /var/log/messages

ou pour regarder les dernieres 20 lignes contenant le mot "ssh":
grep ssh /var/log/messages | tail -20


Que donne la commande
/sbin/iptables-save

? Ca donne une affiche mieux lisible pour ton pare feu. Fais ici une copie-coller de ca.

Est-ce que tu as un 2eme pcs pour tester la connexion ssh ? Par exemple tu peux suivre dans une fenetre sur le pc debian les messages noyau en directe par:
tail -f /var/log/messages

ca affiche la fin de ce fichier en permanence meme avec les nouvelles lignes qui s'ajoutent apres (il faut faire ^C pour sortir de ce mode).
Apres tu essaies soit sur une autre fenetre "ssh localhost" ou sur un autre pc "ssh <numero_IP_pc_debian>" (ou avec "putty" si c'est un pc windows, "putty" est un client ssh pour Windows, facilement a trouver avec google) tout en bien observant la 1ere fenetre ou tu as tape: "tail -f ...".

Un complement: Peut-etre il te faut ajouter dans le fichier /etc/hosts.allow une ligne de genre:
sshd:127.0.0.1,192.168.0.0/24

ou:
ALL:127.0.0.1,192.168.0.0/24

ou:
sshd:xx.xx.xx.xx

ou xx.xx.xx.xx est l'IP a ouvrir. Ce truc est comme une deuxieme couche pare feu. Ce n'est pas sur si sshd utilise ce fichier mais si c'est compile avec le machin "libwrapper" et si c'est un paquet debian tout pret c'est bien possible. Normalement, par defaut si on compile sshd soi meme (en installant un tar) ca n'utilise pas ce fichier /etc/hosts.allow. Il faut essayer.
Messages postés
1569
Date d'inscription
mercredi 30 mars 2005
Statut
Contributeur
Dernière intervention
27 février 2007
486
Sur fedora j'ai désactiver mon firewall mais est-ce qu'il y a une facon de voir si fedora bloque le port 22?

Tu peux faire (en root) la commande: "iptables-save" pour afficher tes regles pare feu. La dedans on peut voir si le port 22 est fermee ou pas. Si tu ne sais pas lire ca fait un copier coller ici.

Et pourtant sur mon router il me semblais qu'il ny avais pas de port de bloquer mais je vais revérifier.

Si tu es derrier un routeur et si tu as un serveur ssh su ton pc Fedora sur lequel tu veux te connecter depuis l'exterieure il faut aussi rediriger le port 22 sur le routeur vers le PC Fedora (dans la config du routeur, typiquement une interface web). Notamment si tu as plusieurs PCs le routeur doit savoir a quel PC transmettre les requetes ssh qui arrivent depuis l'exterieur. Si tu ne rediriges pas le port 22 ca fait aussi pare feu effecti mais sur le routeur et ca ne suffit pas de seulement ouvrir le pare feu Fedora.
Bonjour j'ai un petit souci sous ubuntu :

J'ai telecharger le packet ssh, installer et configurer mon sshd_config avec pour numero de port 2222 (disons).

Je suis en sudo.
Je restart mon ssh, -->[OK]
Je demare mon demon sshd, un petit "ps aux" ... tout est en ordre ( usr/sbin/sshd )

Je test :
ssh localhost --> erreur "port 22 : connection refused"
ssh localhost -p 2222 ---> + mot de passe ---->permission denied, please try again.

Mes question : pourquoi en test "localhost" tout simplement, il va chercher sur le port 22 par defaut, on ne peut pas modifier cela ?

Pourquoi sur mon port 2222 en local j'ai une erreur de permission et je ne peut pas me connecter a ma machine ??

Merci
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 491
Salut,
/etc/init.d/ssh start

Ce n'est pas plutôt
/etc/init.d/sshd start

Moi j'ai dans iptables une régle de genre
iptables -A INPUT -i eth0 -p tcp -s xxx.xxx.xxx.xxx -d 10.0.0.2 --dport 22 -j ACCEPT
Pour ps aux | grep ssh

3847 tty1 S+ 0:00 grep ssh qui veut dire que ton daemon sshd n'est pas démarré
[lamitest@localhost ~]$ ps aux | grep ssh
root      1853  0.0  0.4   3368  1260 ?        Ss   18:09   0:00 /usr/local/sbin/sshd
lamitest  2648  0.0  0.2   3776   744 pts/0    R+   18:36   0:00 grep ssh
[lamitest@localhost ~]$
Messages postés
24
Date d'inscription
samedi 17 décembre 2005
Statut
Membre
Dernière intervention
9 septembre 2009
2
alors voila ce que me donne "iptables -L -vn"

Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts  bytes     target     prot opt   in   out    source       destination
7538  422K      ACCEPT   all   --      lo    *      0.0.0.0/0        0.0.0.0/0
 0          0              LOG       all   --     !lo    *   127.0.0.0/8          0.0.0.0/0
          LOG flags 0 level 4 
0          0            DROP   all   --    !lo        *   127.0.0.0/8          0.0.0.0/0
63   25176    ACCEPT   all   --    eth0    *  0.0.0.0/0     255.255.255.255
28335  16M  ACCEPT  all   --     eth0    *  0.0.0.0/0     192.168.0.4
1280   272K ACCEPT  all   --     eth0    *  0.0.0.0/0          0.0.0.0/0
0            0       LOG        all   --       *         *  0.0.0.0/0          0.0.0.0/0
           LOG flags 0 level 4 
0         0             DROP        all --      *      *         0.0.0.0/0     0.0.0.0/0
chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts  bytes     target     prot opt   in   out    source       destination

0          0            LOG           all  --     *      *         0.0.0.0/0      0.0.0.0/0
      LOG flags 0 level 4
0         0             DROP        all --      *      *         0.0.0.0/0     0.0.0.0/0


chain OUTPUT (policy DROP 0 packets, 0 bytes)
pkts  bytes      target     prot opt   in   out    source       destination

7538  422K      ACCEPT   all   --       *     lo       0.0.0.0/0        0.0.0.0/0
    0          0      ACCEPT    all   --      *     eth0  0.0.0.0/0   255.255.255.255
23306 2545K  ACCEPT   all   --       *     eth0  192.168.0.4    0.0.0.0/0
     0          0       ACCEPT   all   --       *     eth0 192.168.0.255  0.0.0.0/0
     0          0              LOG   all   --       *       *       0.0.0.0/0          0.0.0.0/0
           LOG flagd 0 level 4
     0          0           DROP all   --         *      *          0.0.0.0/0     0.0.0.0/0


Pour "lsmod | grep ip"

ipt_LOG                         6656      4
iptable_filter               2912      1 
iptable_nat                  7748      0
ip_nat                         18612      1   iptable_nat
ip_tables                    20352      3  ipt_LOG, iptable_filter, iptable_nat
ip_conntrack             48720      2  iptable_nat, ip_nat


et voila ce que donne le fichier : /var/log/auth.log :

Dec 19 11:29:00 localhost sshd[5781]:  fatal: daemon() failed: Success


merci encors en at de vos rep!

ps: "apt-get install --reinstall ssh-server " na rien changé
Messages postés
908
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
3 août 2008
492
Salut,
Ca ne semble pas être un problème de firewall, ta configuration laisse
tout passer (si eth0 est ton interface réseau externe).
En revanche, ton démon ssh ne démare pas.
Lançes-le avec "sshd -d", (ça le lance en mode debug) et vérifies alors si
les messages d'erreur sont parlant.
A+, crabs
Messages postés
24
Date d'inscription
samedi 17 décembre 2005
Statut
Membre
Dernière intervention
9 septembre 2009
2
excuse moi mais je n'arrive pas a la lancer en mode debug comment fait on ???

excuse moi mais je suis un novice

merci
comment installer ssh
Messages postés
2
Date d'inscription
dimanche 19 février 2006
Statut
Membre
Dernière intervention
19 février 2006

Salut, j'ai un probleme avec le port 22.


Mon serveur est sur fedora core 4 et j'ai un router.

Sur fedora j'ai désactiver mon firewall mais est-ce qu'il y a une facon de voir si fedora bloque le port 22?

Et pourtant sur mon router il me semblais qu'il ny avais pas de port de bloquer mais je vais revérifier.

Merci
C'est bon.. MErci
bjr
@ssh : stp pourrais tu m'indiquer ce que t'as fais pour que ça marche?
Démarrer le daemon sshd: ça peut servir !
/etc/init.d/sshd start

En automatique:
chkconfig -add sshd