Bonjour,
débutant sous GNU/Linux (depuis à peine plus de 6 mois) j'ai réussi à "convaincre" des membres de ma famille de l'utilité des logiciels/formats Libres et j'ai donc installé une distrib' sur leur ordi en dual-boot. Le "problème" est que je dois administrer cette machine (mise à jour essentiellement) et comme je suis distant de ce pc d'environ 250km j'ai tout de suite pensé à une solution à base de ssh et dyndns (pc derriere une box avec ip dynamique).
Pour la mise en place j'ai suivi ce tuto[1] et ça à fonctionné à merveille, tant que j'étais connecté au réseau local! car depuis chez moi je n'est plus accès à cet ordi.
lorsque je tente :
loran@pc64:~$ ssh root@xxxxxx.dyndns.org
j'ai en retour:
ssh: connect to host xxxxxx.dyndns.org port 22: Connection refused
j'ai donc fais ouvrir le port 22 et l'ai attribué à l'ip fixe de la bécane en question (type 192.168.1.42) mais cela ne me débloque pas la situation. Puis j'ai vérifié iptables à l'aide de la commande:
loran@ordi.fixe:~# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ce qui est étonnant c'est que je n'ai pas ce problème de port 22 en local.
En espérant que vous pourrez m'apporter de l'aide.
Cordialement,
Laurent
[1]http://www.andesi.org/index.php?node=135
NB: j'ai trouvé des réponses sur le web mais mon niveau actuel ne m'a pas permis de comprendre la manip à réaliser :/
# NAT ou port forwarding
Posté par NeoX . Évalué à 3.
cela laisse donc supposé qu'il y a un routeur (une box) entre le PC et internet.
du coup, quand tu fais ton ssh depuis l'exterieur tu essaie de te connecter sur le port 22 de la box, et pas sur le PC
il faut donc regler un "port forwarding" en francais "redirection de port"
pour renvoyer le port 22 de la box vers l'IP du PC:port 22.
suivant les box cela se fait par l'interface web de la box (livebox ou certains routeurs) ou par l'interface web du fournisseur (freebox)
[^] # Re: NAT ou port forwarding
Posté par loran42o (site web personnel) . Évalué à 2.
j'ai ouvert le port 22 pour l'ip 192.168.1.42.
puis j'ai attribué cette ip de manière fixe à l'ordi en question.
mais après redémarrage, de l'ordi et de la Livebox, cela ne change rien :/
ci-joint des captures d'écran de la config' de la Livebox
http://salin.laurent.free.fr/tmp/sc1.png
http://salin.laurent.free.fr/tmp/sc2.png
ça c'est fait ....
# TCP ou UDP
Posté par weeber (site web personnel) . Évalué à 1.
sur les photos que tu as mis, on voit que tu as mis 2 fois le port 22 en tcp ET en udp, je me demande si ce n'est pas a cuse de cela.
http://fr.wikipedia.org/wiki/TCP/IP
SSH port TCP 22
essaye de juste le mettre le port 22 juste en TCP et pas en UDP.
[^] # Re: TCP ou UDP
Posté par loran42o (site web personnel) . Évalué à 1.
loran@pc64:~$ ssh root@xxx.dyndns.org
ssh: connect to host xxx.dyndns.org port 22: Connection refused
:/
ça c'est fait ....
[^] # Re: TCP ou UDP
Posté par NeoX . Évalué à 1.
tu es sur que le serveur ssh a bien demarré sur le poste en question ?
le web (port 80) fonctionne-t-il correctement ?
[^] # Re: TCP ou UDP
Posté par NeoX . Évalué à 1.
quand tu ping ton adresse dyndns, cela correspond-t-il à l'adresse IP de la connexion web en cours d'usage ?
[^] # Re: TCP ou UDP
Posté par loran42o (site web personnel) . Évalué à 1.
j'ai installer le paquet nmap mais je n'ai pas encore bien sais la façon de m'en servir.
si je fais:
loran@pc64:~$ host xxx.dyndns.org
j'ai bien le retour
xxx.dyndns.org A 90.49.xx.xx
et si je "ping" l'adresse dyndns.org ou l'ip j'ai bien
64 bytes from ANantes-258-1-103-62.w90-49.abo.wanadoo.fr (90.49.xx.xx): icmp_seq=10 ttl=254 time=0.700 ms
--- xxx.dyndns.org ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9001ms
rtt min/avg/max/mdev = 0.472/0.909/1.654/0.385 ms
:/
ça c'est fait ....
[^] # Ça marche ?!
Posté par JJD . Évalué à 1.
Apparemment tes problèmes sont résolus : de chez moi j'accède parfaitement à ton serveur SSH, au moins jusqu'à l'invite me demandant un mot de passe.
Est-ce que tu as changé quelque chose ?
[^] # Re: Ça marche ?!
Posté par B16F4RV4RD1N . Évalué à 2.
Tu peux egalement demander aux gens de ta famille de visiter une page genre http://www.mon-ip.com/ , de te donner l'adresse ip temporaire attribuée à leur boite, et essaye de te connecter directement sur cette adresse pour voir.
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: Ça marche ?!
Posté par B16F4RV4RD1N . Évalué à 2.
Si mon collègue plus haut a dit qu'il avait pu tester l'adresse, je présume que c'était écrit en clair et qu'un modérateur à caché l'adresse complète ?
Quoi qu'il en soit, pour ouvrir avec iptable un port de façon temporaire (jusqu'au redémarrage de la machine) il faut faire :
/sbin/iptables -A public -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: Ça marche ?!
Posté par JJD . Évalué à 2.
En réponse à farvardin, je précise que je n'avais pas l'adresse IP, mais que celle-ci était indiquée dans les logs fournies par Laurent (bon, l'adresse IP elle-même était en partie masquée, mais il y avait le nom obtenu par reverse DNS...)
Comme il s'agit d'une adresse IP dynamique, je ne pense pas faire courir de risque à Laurent en indiquant mes sources ;-)
En tout cas hier soir, le serveur SSH était bien accessible et j'ai bien eu l'invite me demandant un mot de passe (aussi bien en utilisateur lambda qu'en root). Je précise que je n'ai pas rentré de mot de passe et que, de part mes essais, Laurent peut désormais connaître mon adresse IP : comme pirate on fait mieux.
A+
JJD
[^] # Re: Ça marche ?!
Posté par B16F4RV4RD1N . Évalué à 2.
Je l'accorde, la chance que cela soit ça est très très faible ;)
Ce qui pourrait bien correspondre à ce que j'avais évoqué, que le bloquage ne vienne pas du serveur, mais du client. J'avais eu cela une fois et en effaçant le fichier known_hosts cela m'avait permis de me connecter. D'ailleurs la question est de savoir dans ces cas-là comment faire cette manipulation proprement, sans effacer ce fichier comme un gros bourrin, si on veut juste supprimer / modifier une adresse ip en particulier ?
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: Ça marche ?!
Posté par JJD . Évalué à 2.
LA bonne méthode est d'utiliser ssh_keygen pour cela :
$ ssh_keygen -R <nom ou IP du serveur>
et l'entrée correspondant au serveur est supprimée. Ensuite, il faudra accepter de nouveau le certificat à la connexion suivante.
Avec putty, je ne sais pas comment faire, mais il doit il y avoir soit un fichier de config, soit des entrées dans la base de registre...
JJD
[^] # Re: Ça marche ?!
Posté par Raphaël G. (site web personnel) . Évalué à 1.
[^] # Re: Ça marche ?!
Posté par JJD . Évalué à 1.
HashKnownHosts no
dans ~/.ssh/config et c'est reparti !
[^] # Re: TCP ou UDP
Posté par loran42o (site web personnel) . Évalué à 1.
ssh loran@192.168.1.42
alors la connection se fait bien
:/
ça c'est fait ....
# /etc/ssh/sshd_config
Posté par loran42o (site web personnel) . Évalué à 1.
# Package generated configuration file
# See the sshd(8) manpage for details
# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes
# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768
# Logging
SyslogFacility AUTH
LogLevel INFO
# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile %h/.ssh/authorized_keys
# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes
# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no
# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no
# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes
# Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no
#MaxStartups 10:30:60
#Banner /etc/issue.net
# Allow client to pass locale environment variables
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes
ça c'est fait ....
[^] # Connexion root
Posté par Kerro . Évalué à 2.
LoginGraceTime 40
PermitRootLogin no
AllowUsers utilisateurssh
Et puis je crée utilisateurssh
#adduser utilisateurssh
Ca évite qu'on vienne chatouiller le compte root.
Et fail2ban ne fait pas de mal non plus :-)
# Liste de test
Posté par Kerro . Évalué à 2.
Si il est affiché deux fois, quelqu'un peu me dire comment en supprimer un ?
Il faut d'abord t'assurer que c'est la bonne adresse IP.
A partir du logement de ta famille vas sur http://www.mon-ip.fr ou demande au routeur ce qu'il en pense, puis fais un #host xxxxxx.dyndns.org depuis une machine extérieure.
Tu devrais avoir la même IP dans les deux cas. Si ce n'est pas le cas, tu as un soucis de dns.
Ensuite un test avec netcat :
- redirige le port 12345 (au pif) vers l'ordinateur de ta famille
- sur l'ordinateur de ta famille, lance #nc -l -p 12345 (netcat en écoute, le -l est un L minuscule)
- sur un ordinateur en dehors du logement, lance #nc xxxxxx.dyndns.org 12345
- tu devrais pouvoir alors taper du texte qui s'affiche sur l'ordinateur de ta famille
Si ça ne fonctionne pas, tu as un problème, vivi :-)
Au vu de tes copies d'écran, j'ai l'impression que c'est une SAGEM (c'est marqué sous le modem). Il me semble que le port 22 est d'office bloqué.
Il faudrait que tu diriges un autre port (par exemple le 23, ou le 2222) vers l'ordinateur cible. Donc port 2222 extérieur vers port 22 intérieur.
Puis #ssh -p 2222 root@xxxxxx.dyndns.org
Mais... avec le SAGEM l'interface web ne permet pas de le faire. Il faut le faire via ssh. Et depuis le réseau interne. Je ne me souviens plus de la manipulation.
Autres solutions si c'est le port 22 qui est bloqué :
- demande au SAGEM de ne pas accepté ssh, je ne sais pas si c'est possible
- lancer sshd sur l'ordinateur de ta famille avec le port 2222 (/etc/ssh/sshd.conf)
- utilise un redirecteur de port pour que le port 2222 aille sur le 22 (moyen bof)
Dernière solution si ça ne fonctionne pas :
revenir ici en pestant :-)
[^] # Re: Liste de test
Posté par sebzonelibre . Évalué à 1.
bonne chance
# [resolu]
Posté par loran42o (site web personnel) . Évalué à 2.
le problème est résolu et ce je ne sais pas graçe à quel manip' :?
sûrement la redirection du port 22 vers la machine en question mais je n'en suis pas sur.
Ceci étant je peux y accéder en local sur 192.168.1.42 et en distant (Internet) par xxxxx.dyndns.org.
ça c'est fait ....
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.