reverse ssh
Le
bernard schoenacker

bonjour,
je vais essayer de réaliser un tunnel ssh en mode reverse, mais je
ne sais pas faire
ou que mon novice n'est pas à la hauteur
j'ai trouvé la doc en ligne, mais c'est très confus dans mon
esprit
est ce que j'ai ommis quelque chose pour devoir relire la doc ?
http://geekfault.org/2011/02/19/reverse-ssh-acceder-a-un-serveur-derriere-un-natfirewall/
http://wiki.kogite.fr/index.php/Reverse_ssh_:_Accéder_à_un_serveur_derrière_un_NAT_-_Firewall
désolé, mais c'est assez urgent pour que je puisse comprendre
slt
bernard
--
bernard schoenacker <bernard.schoenacker@free.fr>
je vais essayer de réaliser un tunnel ssh en mode reverse, mais je
ne sais pas faire
ou que mon novice n'est pas à la hauteur
j'ai trouvé la doc en ligne, mais c'est très confus dans mon
esprit
est ce que j'ai ommis quelque chose pour devoir relire la doc ?
http://geekfault.org/2011/02/19/reverse-ssh-acceder-a-un-serveur-derriere-un-natfirewall/
http://wiki.kogite.fr/index.php/Reverse_ssh_:_Accéder_à_un_serveur_derrière_un_NAT_-_Firewall
désolé, mais c'est assez urgent pour que je puisse comprendre
slt
bernard
--
bernard schoenacker <bernard.schoenacker@free.fr>
Installe autossh sur la machine distante. Tu as besoin de 2 ports sur ta
machine (ou sur le serveur sur lequel tu veux centraliser si plusieurs
clients), peu importe lesquels.
--
Daniel
Desolé mais c'est beaucoup trop succinct pour que je puisse comprendre.
Un tunnel ssh peut servir a faire une foultitude de choses, j'ai besoin
de plus de précisions sur ce que tu veux faire. Quel est ton besoin ?
C'est pour faire quoi ?
hamster
bonjour,
je pose le problème, je souhaite que un novice puisse se connecter
à l'une de mes machines ....
ssh
moi je veut faire de même
ssh
ensuite, je souhaite pouvoir aller à son ordi par la même voie
sachant que le port ssh n'est pas ouvert chez lui en entrant ....
donc je fait comment pour remonter ?
la doc qui me dit comment faire et que je ne comprend pas
complètement :
https://renoirboulanger.com/blog/2012/02/creer-un-tunnel-ssh-inverse-pour-pouvoir-supporter-a-distance-un-ami-utilisant-linux/
merci pour essayer d'éclairer ma lanterne
slt
bernard
--
bernard schoenacker
Donc en fait, tu veux prendre la main sur sa machine. Juste en ligne de
commande ? Ou tu veux aussi controler sa souris, son clavier et voir son
écran grace a VNC ?
Il faut qu'il y ait une machine accessible depuis internet. Ca peut etre
un serveur mais pas nécessairement. Moi je le fais depuis mon laptop en
configurant mon modem pour qu'il transfere le port 22. Si t'a pas envie
d'ouvrir le port 22 tu peux aussi ouvrir un autre port et dire a ssh
d'écouter sur cet autre port. Par exemple on va dire que l'adresse IP de
la machine accessible depuis internet que tu va utiliser c'est
88.88.88.88 avec ssh qui écoute en standard sur le port 22.
Je te conseille fortement de faire sur cette machine un compte spécial
dédié au novice qui se connecte. Par exemple on va dire que ce compte
s'appelle toto.
Il faut que le novice se connecte a la machine EN FAISANT LE TUNNEL.
ssh -N -R 22222:localhost:22 :88.88.88
- le tunnel se construit a la connexion, pas apres s'etre connecté
- 22222 c'est le port d'entrée du tunnel sur ta machine, tu peux mettre
n'importe quel autre numéro supérieur a 1000 et inférieur a 65535
- localhost c'est la machine sur laquelle le tunnel va arriver, comme
c'est ton novice qui va taper cette commande, ca sera sa machine
- 22 c'est le port sur lequel le tunnel va arriver sur la machine de ton
novice, tu peux mettre un autre port si tu veux mais il faudra alors
régler son ordi pour que ssh écoute sur cet autre port.
Quand le tunnel est fait, tout ce qui est envoyé sur le port 22222 de ta
machine arrive sur le port 22 de sa machine. Tu peux donc te connecter a
sa machine en te connectant a la tienne sur le port 22222, ca sera
transféré chez lui :
ssh -p 22222
- il faut faire ca sur la machine d'ou le tunnel part, si c'est un
serveur il faut d'abord que tu te connecte a ton serveur en ssh
- user doit etre le nom du compte auquel tu veux te connecter sur SA machine
- vu que tu passe par le tunnel, ca marche meme si le port 22 est bloqué
chez lui au niveau du modem ou du pare feu, par contre c'est une
connexion ssh classique, il faut donc que openssh-server soit installé
chez lui.
Si tu veux utiliser VNC je te conseille de construire un tunnel direct
(avec l'option -L) qui remonte dans le tunnel reverse pour tranférer le
port de VNC. Si c'est le cas demande moi plus de précisions en me disant
si tu passe par un serveur (c'est plus compliqué) ou si le tunnel part
directement de chez toi.
PS : tu peux tres bien construire le tunnel sans l'option -N, mais dans
ce cas, une fois le tunnel construit, le novice aura un terminal ouvert
sur ta machine, et il pourra l'utiliser a volonté. L'option -N évite ca,
mais du coup ca fait que quand le tunnel est ouvert, il voit dans son
terminal le curseur qui va a la ligne et qui reste fixe sans lui rendre
le prompt. Il y a des novices que ca perturbe et qui ne comprennent pas
que le tunnel est pret, qui disent "attends, ca travaille" ou encore "il
ne se passe rien". C'est aussi plus chiant pour débugger quand ca marche
pas parce que c'est plus dur de savoir si le tunnel a bien été construit
ou pas, donc en cas de souci je lui fais recommencer sans cette option -N.
Oubli: pour se connecter sur n'importe quel port de la machine distante,
on monte un tunnel de type (ex pour http):
ssh -gNL 9001:<ip LAN locale du distant>:80 [user@]<ip LAN locale du
distant>, puis http://localhost:9001 à partir du navigateur. Et voilà.
--
Daniel
Ouvres un port ssh par ex. 12345 sur ton serveur. Ensuite, sur la
machine distante, dans un crontab:
@reboot /usr/bin/autossh -M 61111 -f -p12345 -CXN -R
60000:localhost:23456 <ip ou hostname de ton serveur>
12345=port ssh sur ton serveur
23456=port ssh sur le serveur distant
61111 et 60000 sont des ports choisis aléatoirement. À noter que le port
61112 -celui immédiatement après celui que tu auras choisis, ici 61111-
doit être disponible pour autossh.
Ensuite sur ton serveur, pour te connecter sur le distant:
ssh -p60000 localhost
Ne pas oublier que l'utilisateur qui execute le @reboot autossh sur le
distant doit pouvoir se connecter sur ton serveur par clé afin que cette
connexion soit automatique.
Le distant se connecte chez toi par un simple ssh -p12345 <ip ou
hostname de ton serveur>
--
Daniel
hamster
bonjour,
grâce à yannick, j'ai pu faire un essai en grandeur nature et
c'est bon ...
je récapitule :
la machine à dépanner se connecte sur un ordi tiers :
ssh -nNT -R 1103:localhost:22 lui@"machine distante de rencontre"
ce que je doit faire :
ssh moi@"machine distante de rencontre"
screen
ssh -p 1103
attention :
il faut que le paquet ssh et screen soient installés
merci pour les tuyaux
slt
bernard
--
bernard schoenacker
Je comprend pas l'interet de screen. Si tu le fais pas, ca marche aussi
bien.
En cas de rupture de la liaison pour ne pas perdre les tâches en cours.
--
Raphaël POITEVIN
Le mercredi 23 novembre 2016 à 21:42, Raphaël POITEVIN a écrit :
Oui, mais il vaudrait mieux lancer screen sur la machine à dépanner et non pas
sur la « machine distante de rencontre ». Ce sera plus sûr en déplaçant le
lancement de screen à la toute fin.
Au passage, depuis que je suis passé de screen à tmux, je n’ai plus _jamais_
utilisé screen (sauf lorsque tmux n’était pas disponible).
Sébastien