Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

noos et vnc

19 réponses
Avatar
Bruno Lixi
Bonjour,

je n'arrive pas à prendre le contrôle d'un mac sur noos (vnc port 5900)
malgré le partage vnc activé dans les préférences système. je n'ai
aucune difficulté à contrôler un mac sur free. est-ce dû à des
limitations de noos (ça ne m'étonnerait pas), dois-je changer le port ou
utiliser une autre façon de faire ?

Merci

9 réponses

1 2
Avatar
blanc
Serge Horrent wrote:

Sur le mac client (mon mac) :
ssh -R 5500:127.0.0.1:5500


Et on tape ça où mon cher Jean-Paul ? Dans le terminal, cotvnc ?


Dans le Terminal.
Si tu veux le faire rapidement, fait pomme-shift-K dans le T
Puis :
1)clic sur "Shell sécurisé"
2)clic sur le "+" de droite
tape toute la fin de la commande ci-dessus (tous sauf "ssh")
et fait OK
3) clique sur la nouvelle entrée créée
4) passe le protocole en automatique
5) clique sur "se connecter"

Les fois suivantes, tu n'auras pas besoin de faire le point (2). Donc
juste quelques clics...

Pas indispensable par ailleurs de t'embêter avec les clefs. Lors de la
connexion ssh te demanderas le mot de passe. Plus tard tu étudieras la
solution clef (avec sshkeychain, par exemple).
--
JiPaul.
/ /--/--// Jean-Paul Blanc
|/| L | quelquepart en (somewhere in)
/|| = ||| FRANCE


Avatar
jperrocheau
JiPaul wrote:

Dans le Terminal.
Si tu veux le faire rapidement, fait pomme-shift-K dans le T
Puis :
1)clic sur "Shell sécurisé"
2)clic sur le "+" de droite
tape toute la fin de la commande ci-dessus (tous sauf "ssh")
et fait OK
3) clique sur la nouvelle entrée créée
4) passe le protocole en automatique
5) clique sur "se connecter"

Les fois suivantes, tu n'auras pas besoin de faire le point (2). Donc
juste quelques clics...


Sauf que par cette méthode, je n'ai pas trouvé pour interrompre le
tunnel ssh que faire [control] c dans la fenêtre du Terminal. Je ne
trouve pas cela très smart.

--
Jacques PERROCHEAU
________________________________________________________________________
e-mail: mailto:

Avatar
blanc
Jacques Perrocheau wrote:

Sauf que par cette méthode, je n'ai pas trouvé pour interrompre le
tunnel ssh que faire [control] c dans la fenêtre du Terminal. Je ne
trouve pas cela très smart.


Et si tu n'utilises pas cette méthode, tu le termines comment ?...

Un tunnel ssh débouche sur un shell. Or la terminaison normale du shell
se fait quand il trouve le caractère EOF (end of file). Et ceci que le
shell lise un fichier (script) ou qu'il soit en interactif (dans une
fenêtre de Terminal).
Le caractère EOF étant en fait un control-D, c'est avec ce caractère que
tu peux terminer un shell, et même que tu dois normalement le terminer
(car les seuls signaux qu'accepte un shell sont ceux qu'on ne peut
détourner ; donc pour tuer un shell par signal , c'est kill -9)
Or il se trouve que lorsque ssh reçoit la fin de son processus fils
qu'est le shell, il se termine tout à fait normalement. Tu peux vérifier
avec top, après ^D, le process ssh a disparu. Et avec ktrace tu peux
voir que la terminaison est propre :
4467 ssh GIO fd 2 wrote 44 bytes
"Connection to ...... closed.r
"
4467 ssh RET write 44/0x2c
4467 ssh CALL shutdown(0x11,0x2)
4467 ssh RET shutdown 0
4467 ssh CALL close(0x11)
4467 ssh RET close 0
4467 ssh CALL exit(0)

Donc pour terminer un tunnel ssh, tu peux faire control-D.

Par contre ^C chez moi ne donne rien.

Cependant me diras-tu la fenêtre ne se ferme pas toujours. Il faut donc
la fermer dans ce cas avec un pomme-W par exemple.

Mais alors pourquoi ne pas terminer simplement le tunnel ssh par cette
fermeture de fenêtre ?
Dans ce cas le signal reçu par ssh (tel que peut me le donner ktrace) se
trouve être SIGHUP :
4475 ssh PSIG SIGHUP caught handler=0x7acc mask=0x0 code=0x0
4475 ssh CALL sigreturn(0xbfffef28,0x1)

Ce qui est normal. C'est le signal envoyé automatiquement aux process
lors d'une déconnexion (to hangup = raccrocher) qu'elle soit normale ou
accidentelle. Tu peux alors constater que le programmeur de ssh a bien
prévu ce cas, puisqu'il a mis dans le programme un handler (=preneur en
main) et que le signal est capturé (caught) par ce handler. D'ailleurs
ktrace indique encore quelques appels de ss-programme (une bonne
dizaine) avant de se terminer proprement par un call exit.

Et je suis à peu près sûr, sans l'avoir vérifier, que c'est la même
chose à l'autre bout avec les process sshd.

Donc, sois tranquille, tu peux sans problème simplement fermer la
fenêtre. D'ailleurs je le fait depuis des années sans aucun
inconvénient. Bien sûr cela suppose quand-même que tu as terminé
proprement tout processus que tu aurais lancé par le tunnel ssh, avant
de fermer la fenêtre.
--
JiPaul.
/ /--/--// Jean-Paul Blanc
|/| L | quelquepart en (somewhere in)
/|| = ||| FRANCE

Avatar
minfiu
JiPaul wrote:

Serge Horrent wrote:

Sur le mac client (mon mac) :
ssh -R 5500:127.0.0.1:5500


Et on tape ça où mon cher Jean-Paul ? Dans le terminal, cotvnc ?


Dans le Terminal.
Si tu veux le faire rapidement, fait pomme-shift-K dans le T
Puis :
1)clic sur "Shell sécurisé"
2)clic sur le "+" de droite
tape toute la fin de la commande ci-dessus (tous sauf "ssh")
et fait OK
3) clique sur la nouvelle entrée créée
4) passe le protocole en automatique
5) clique sur "se connecter"

Les fois suivantes, tu n'auras pas besoin de faire le point (2). Donc
juste quelques clics...

Pas indispensable par ailleurs de t'embêter avec les clefs. Lors de la
connexion ssh te demanderas le mot de passe. Plus tard tu étudieras la
solution clef (avec sshkeychain, par exemple).


Tout s'effectue correctement comme tu le décris. La fenêtre terminal
s'ouvre et il suffit de taper le mot de passe de la machine où est
installé le server.

Cependant, je ne vois bien évidemment pas de différence de
fonctionnement entre l'utilisation de ce fameux tunnel et sans. D'où les
petites demandes de précisions suivantes.

- sur les machines à contrôler (toutes isolées, sans firewall actif),
aucun port à ouvrir, juste activer le service "session à distance" dans
le panneau partage ?
- je n'ai juste qu'à leur faire lancer Vine Server sur leur machine et,
quant à moi, initier la connexion SSH via le terminal par les commande
ou procèdure que tu as décrites ci-dessus ?
- une fois l'assistance terminée, arrêter moi-même leur serveur Vine,
puis stopper ma connexion SSH par un CTRL-D dans mon terminal ?
- pas de ports particuliers à "mapper" sur mon routeur/borne Airport et
je peux supprimer les 5900 et 550-5509 ?

J'ai tout bon ?

Autre petite question. Mon frère (en RE-ADSL chez Wanadoo) n'a pas d'IP
fixe et je l'ai donc inscrit à DynDNS (et installé le client qui va
bien). Je ne dispose pas d'IP pour lui, juste une adresse telle que
xxx.dyndns.org. Dans la commande...
ssh -R 5500:127.0.0.1:5500 , je tape quoi à la
place de ip_du_mac_serveur ?

Serge

--
Léda Atomica Musique...
Une visite s'impose ;-)
<http://ledatomica.mus.free.fr>



Avatar
jperrocheau
JiPaul wrote:

Et si tu n'utilises pas cette méthode, tu le termines comment ?...


Je peux fermer la fenêtre du Terminal... aussi.

Un tunnel ssh débouche sur un shell. Or la terminaison normale du shell
se fait quand il trouve le caractère EOF (end of file). Et ceci que le
shell lise un fichier (script) ou qu'il soit en interactif (dans une
fenêtre de Terminal).
Le caractère EOF étant en fait un control-D, c'est avec ce caractère que
tu peux terminer un shell, et même que tu dois normalement le terminer
(car les seuls signaux qu'accepte un shell sont ceux qu'on ne peut
détourner ; donc pour tuer un shell par signal , c'est kill -9)
Or il se trouve que lorsque ssh reçoit la fin de son processus fils
qu'est le shell, il se termine tout à fait normalement. Tu peux vérifier
avec top, après ^D, le process ssh a disparu. Et avec ktrace tu peux
voir que la terminaison est propre :
4467 ssh GIO fd 2 wrote 44 bytes
"Connection to ...... closed.r
"
4467 ssh RET write 44/0x2c
4467 ssh CALL shutdown(0x11,0x2)
4467 ssh RET shutdown 0
4467 ssh CALL close(0x11)
4467 ssh RET close 0
4467 ssh CALL exit(0)

Donc pour terminer un tunnel ssh, tu peux faire control-D.

Par contre ^C chez moi ne donne rien.


??

Chez moi ^D ne fait rien... (???)


--
Jacques PERROCHEAU
________________________________________________________________________
e-mail: mailto:

Avatar
jperrocheau
Serge Horrent wrote:

Tout s'effectue correctement comme tu le décris. La fenêtre terminal
s'ouvre et il suffit de taper le mot de passe de la machine où est
installé le server.


OK.

Cependant, je ne vois bien évidemment pas de différence de
fonctionnement entre l'utilisation de ce fameux tunnel et sans.


Sauf que tu vas te connecte avec ton client VNC en mettant comme hôte
cible ta propre machine localhost:nouveauport ou 127.0.0.1:nouveauport

Tu peux vérifier que ton tunnel est en fonctionnement en faisant dans le
Terminal

$ netstat -an | grep LISTEN
tcp4 0 0 127.0.0.1.15900 *.*
LISTEN
tcp6 0 0 ::1.15900 *.*
LISTEN

le tunnel est ci-dessus.

tcp4 0 0 127.0.0.1.25 *.*
LISTEN

Ça c'est le serveur de courrier en loopback

tcp4 0 0 *.49159 *.*
LISTEN

Ma licence Net Monitor;

tcp4 0 0 *.548 *.*
LISTEN
tcp46 0 0 *.548 *.*
LISTEN

Le serveur AFP de ma machine;

tcp4 0 0 127.0.0.1.1033 *.*
LISTEN


Tu vois la connexion ssh avec la machine distante en faisant:

$ netstat -an | grep ESTABLISHED
tcp4 0 0 10.0.1.3.49200 10.0.1.2.22
ESTABLISHED



D'où les petites demandes de précisions suivantes.

- sur les machines à contrôler (toutes isolées, sans firewall actif),
aucun port à ouvrir, juste activer le service "session à distance" dans
le panneau partage ?


Oui.

- je n'ai juste qu'à leur faire lancer Vine Server sur leur machine et,
quant à moi, initier la connexion SSH via le terminal par les commande
ou procèdure que tu as décrites ci-dessus ?


Oui.

- une fois l'assistance terminée, arrêter moi-même leur serveur Vine,


Euh! cela va être un peu brutal...

puis stopper ma connexion SSH par un CTRL-D dans mon terminal ?


Chez moi le CRTL-D ne fonctionne pas, fermer la fenêtre du Terminal qui
a initié le tunnel ssh marche.

- pas de ports particuliers à "mapper" sur mon routeur/borne Airport et
je peux supprimer les 5900 et 550-5509 ?


??

Sur ton routeur/borne Airport tu n'a rien à ouvrir c'est sur le
routeur/borne Airport des machines ciblées que tu as éventuellement à
mapper le port 22 (celui du tunnel ssh).


J'ai tout bon ?

Autre petite question. Mon frère (en RE-ADSL chez Wanadoo) n'a pas d'IP
fixe et je l'ai donc inscrit à DynDNS (et installé le client qui va
bien). Je ne dispose pas d'IP pour lui, juste une adresse telle que
xxx.dyndns.org. Dans la commande...
ssh -R 5500:127.0.0.1:5500 , je tape quoi à la
place de ip_du_mac_serveur ?


xxx.dyndns.org

Perso, je mettrais un port de redirection "non standard", comme cela le
jour où éventuellement tu lances un serveur VNC sur ta propre machine,
cela ne cafouille pas. Perso, j'utilise:

'hôtedelamachineciblée -CN -L 15900:localhost:5900

ou

'hôtedelamachineciblée -CN -L 15900:127.0.0.1:5900

J'utilise l'option L au lieu de R, mais ne me demande pas
l'explication... les seules explications qu'on a sont du genre "c'est
juste l'inverse", "c'est juste le contraire"... Cela doit correspondre à
quelque chose dans la tête de ceux qui m'ont répondu cela, mais moi cela
ne m'a pas éclairé sur les implications différentes des deux options.

-L [bind_address:]port:host:hostport
Specifies that the given port on the local (client) host is
to be forwarded to the given host and port on the remote
side.
-R [bind_address:]port:host:hostport
Specifies that the given port on the remote (server) host
is to be forwarded to the given host and port on the local
side.

--
Jacques PERROCHEAU
________________________________________________________________________
e-mail: mailto:

Avatar
blanc
Jacques t'as répondu en grande partie, mais
1) il utilise -L au lieu de -R pour le ssh
2) il t'as donné les réponses pour le cas où c'est toi qui "appelle"
ton correspondant alors que dans le script que tu vas recevoir ou que tu
as reçu par email je te propose le contraire.

Les réponses que je te donnent correspondent au cas de figure que je te
propose. Celles qu'il t'a donné à l'autre cas de figure

Serge Horrent wrote:

Tout s'effectue correctement comme tu le décris. La fenêtre terminal
s'ouvre et il suffit de taper le mot de passe de la machine où est
installé le server.


ok.

Cependant, je ne vois bien évidemment pas de différence de
fonctionnement entre l'utilisation de ce fameux tunnel et sans.


C'est que tu ne l'as sans doute pas encore vraiment utilisé ;-)

D'où les
petites demandes de précisions suivantes.

- sur les machines à contrôler (toutes isolées, sans firewall actif),
aucun port à ouvrir, juste activer le service "session à distance" dans
le panneau partage ?


Oui.

- je n'ai juste qu'à leur faire lancer Vine Server sur leur machine


Si tu leur fais lancer VS, il faut qu'ils mettent l'adresse 127.0.0.1
dans le champs "hôte cible" du premier onglet. C'est eux qui t'appellent
en fait. Autre solution : le script.

et,
quant à moi, initier la connexion SSH via le terminal par les commande
ou procèdure que tu as décrites ci-dessus ?


Oui. Et lancer cotvnc. Et y faire pomme-L et démarrer.
Ce n'est qu'après qu'il doivent t'appeler.

- une fois l'assistance terminée, arrêter moi-même leur serveur Vine,


Oui si tu veux être sûr que c'est fait. C'est vrai que c'est brutal,
mais ce n'est pas gênant.

puis stopper ma connexion SSH par un CTRL-D dans mon terminal ?


Oui.

- pas de ports particuliers à "mapper" sur mon routeur/borne Airport et
je peux supprimer les 5900 et 5500-5509 ?


Oui.

J'ai tout bon ?


Oui.

Autre petite question. Mon frère (en RE-ADSL chez Wanadoo) n'a pas d'IP
fixe et je l'ai donc inscrit à DynDNS (et installé le client qui va
bien). Je ne dispose pas d'IP pour lui, juste une adresse telle que
xxx.dyndns.org. Dans la commande...
ssh -R 5500:127.0.0.1:5500 , je tape quoi à la
place de ip_du_mac_serveur ?


xxx.dyndns.org

Voilà.

Complément : explications des options -R et -L :

-R (remote) : redirige un port de la machine distante RRR.
-L (local) : redirige un port de la machine locale LLL.

Plus précisément
-R 12345:xx.yy.zz.tt:5500
Le port 12345 de la machine RRR est redirigé (via le tunnel) vers le
port 5500 de la machine xx.yy.zz.tt accédée depuis LLL

Si xx.yy.zz.tt7.0.0.1= localhost, il s'agit de LLL elle-même


LLL <=================== RRR:12345
|
V
xx.yy.zz.tt:5500

-L 12345:xx.yy.zz.tt:5500
Le port 12345 de la machine LLL est redirigé (via le tunnel) vers le
port 5500 de la machine xx.yy.zz.tt accédée depuis RRR

Si xx.yy.zz.tt7.0.0.1= localhost, il s'agit de RRR elle-même

LLL:12345 ===================> RRR
|
V
xx.yy.zz.tt:5500


Il est très important de comprendre que les machines RRR et LLL n'étant
pas (normalement) sur le même réseau local ne voient pas la même machine
xx.yy.zz.tt

--
JiPaul.
/ /--/--// Jean-Paul Blanc
|/| L | quelquepart en (somewhere in)
/|| = ||| FRANCE

Avatar
minfiu
Jacques Perrocheau wrote:

Serge Horrent wrote:

Tu peux vérifier que ton tunnel est en fonctionnement en faisant dans le
Terminal


etc., etc.

Purée, c'est quand même assez complexe toutes ces commandes, et mes
pauvres vieux neurones ont quelque mal à suivre. Mais je résiste :)

Merci pour toutes ces explications Jacques, je m'accroche !

Serge

--
Léda Atomica Musique...
Une visite s'impose ;-)
<http://ledatomica.mus.free.fr>

Avatar
minfiu
JiPaul wrote:

Jacques t'as répondu en grande partie, mais
1) il utilise -L au lieu de -R pour le ssh
2) il t'as donné les réponses pour le cas où c'est toi qui "appelle"
ton correspondant alors que dans le script que tu vas recevoir ou que tu
as reçu par email je te propose le contraire.

Les réponses que je te donnent correspondent au cas de figure que je te
propose. Celles qu'il t'a donné à l'autre cas de figure


OK, oK. Merci à vous deux. J'imprime et analyse calmement tout ça et me
plonge dès demain dans l'expérimentation. Pas fastoche, mais je devrais
bien y parvenir :)

Serge

--
Léda Atomica Musique...
Une visite s'impose ;-)
<http://ledatomica.mus.free.fr>

1 2