Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:reseau:x11vnc [25/03/2019 16:04] Debian Alain [culture générale] |
doc:reseau:x11vnc [26/03/2019 09:54] Debian Alain [création d'un alias] |
||
---|---|---|---|
Ligne 67: | Ligne 67: | ||
<note tip>de même que la sécurisation par mot de passe , | <note tip>de même que la sécurisation par mot de passe , | ||
- | il y a possibilité de créer un "tunnel ssh" (voir ci - après et liens) </note> | + | il y a possibilité de créer un "tunnel ssh" (voir ci - après et liens) |
+ | |||
+ | ou de créer une connexion vnc par ssl (ssvnc) .</note> | ||
+ | |||
+ | <note warning>ATTENTION ! ne confondez pas le mot de passe de vnc et le mot de passe user de votre systeme ! </note> | ||
Ligne 82: | Ligne 86: | ||
en ssh , (sur la machine locale) vers la machine distante : | en ssh , (sur la machine locale) vers la machine distante : | ||
<code user>ssh id_user_distant@ip_distante</code> | <code user>ssh id_user_distant@ip_distante</code> | ||
+ | |||
+ | exemple : | ||
+ | |||
+ | où l'on voit la commande (ssh) le user distant(alain) et l'ip distant (192.168.1.32 : adresse réseau local) | ||
+ | |||
+ | I.P. vient de l'anglais I.nternet P.rotocol , soit : Protocole Internet . | ||
+ | |||
+ | il s'agit d'un procédé d'adressage à l'origine sur une séquence de 4 chiffres (IPV4) séparés par un point . | ||
+ | |||
+ | à venir , l' IPV6 : séquence et zone d'adressage beaucoup plus grands . | ||
+ | |||
+ | {{/file-Rb1aeab106203e374cbc6b52e65cf4357.png}} | ||
pour plus ample information , voire les liens en bas du document . | pour plus ample information , voire les liens en bas du document . | ||
Ligne 95: | Ligne 111: | ||
on peut aussi la lancer en direct sur le pc distant où est installé le logiciel | on peut aussi la lancer en direct sur le pc distant où est installé le logiciel | ||
- | <code user>x11vnc -many -rfbauth ~/.vnc_passwd</code> | + | <code user>x11vnc -q -many -rfbauth ~/.vnc/passwd</code> |
+ | |||
+ | <note tip>IMPORTANT ! | ||
+ | |||
+ | on parle bien ici du mot de passe de vnc ! | ||
+ | |||
+ | stocké dans le fichier par défaut "~/.vnc/passwd" de la commande "x11vnc -storepasswd" </note> | ||
+ | |||
+ | <code>alain@debian:~$ x11vnc -q -many -rfbauth ~/.vnc/passwd | ||
+ | 26/03/2019 03:42:44 | ||
+ | 26/03/2019 03:42:44 *** XOpenDisplay failed. No -display or DISPLAY. | ||
+ | 26/03/2019 03:42:44 *** Trying ":0" in 4 seconds. Press Ctrl-C to abort. | ||
+ | 26/03/2019 03:42:44 *** 1 2 3 4 | ||
+ | 26/03/2019 03:42:48 *** XOpenDisplay of ":0" successful. | ||
+ | 26/03/2019 03:42:48 | ||
+ | The VNC desktop is: debian:0 | ||
+ | PORT=5900 | ||
+ | </code> | ||
===== Créer un tunnel ssh : ===== | ===== Créer un tunnel ssh : ===== | ||
Ligne 107: | Ligne 140: | ||
Seul le port 22 pour ssh est routé dans la box, tout ce qui passe à travers est crypté ainsi que les tunnels qu'il ouvrira. | Seul le port 22 pour ssh est routé dans la box, tout ce qui passe à travers est crypté ainsi que les tunnels qu'il ouvrira. | ||
- | <code user>ssh -L 5900:localhost:5900 machine_distante 'x11vnc -display :0'</code> | + | <code user>ssh -L 5900:localhost:5900 machine_distante 'x11vnc -q -display :0'</code> |
Pour connecter le client à l'autre bout du tunnel | Pour connecter le client à l'autre bout du tunnel | ||
Ligne 125: | Ligne 158: | ||
#create SSH tunnel | #create SSH tunnel | ||
- | ssh -f -L 5900:ip_distante:5900 -t user@ip_distante 'x11vnc -geometry 1280x800; /bin/bash' | + | ssh -f -L 5900:ip_distante:5900 -t user@ip_distante 'x11vnc -q -geometry 1280x800; /bin/bash' |
#open vncviewer | #open vncviewer | ||
Ligne 139: | Ligne 172: | ||
#create SSH tunnel | #create SSH tunnel | ||
- | ssh -f -L 5900:ip_distante:5900 -t user@ip_distante 'x11vnc -geometry 1280x800; /bin/bash' | + | ssh -f -L 5900:ip_distante:5900 -t user@ip_distante 'x11vnc -q -geometry 1280x800; /bin/bash' |
#open vncviewer | #open vncviewer | ||
Ligne 146: | Ligne 179: | ||
exit 0 | exit 0 | ||
EOF</code> | EOF</code> | ||
+ | |||
n'oubliez pas les droits : | n'oubliez pas les droits : | ||
Ligne 163: | Ligne 197: | ||
<note tip>vous pouvez éditer le script avec nano (voir plus amples infos dans les notes de bas de page)</note> | <note tip>vous pouvez éditer le script avec nano (voir plus amples infos dans les notes de bas de page)</note> | ||
+ | |||
+ | <note important>on parle , ici , de la connexion au systeme (en ssh) , donc , du mot de passe systeme (user) | ||
+ | |||
+ | par ailleurs, bien que la connexion x11vnc ne soit pas protégée (port 5900) , | ||
+ | |||
+ | elle passe par ssh , donc , dans un tunnel (port 22) , et est , de ce fait , cryptée par ssh. | ||
+ | </note> | ||
+ | |||
+ | écran : | ||
+ | |||
+ | <code>alain@Alain-PC:~$ ssh -L 5900:localhost:5900 192.168.1.32 'x11vnc -q -display :0' | ||
+ | alain@192.168.1.32's password: | ||
+ | ############################################################### | ||
+ | #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@# | ||
+ | #@ @# | ||
+ | #@ ** WARNING ** WARNING ** WARNING ** WARNING ** @# | ||
+ | #@ @# | ||
+ | #@ YOU ARE RUNNING X11VNC WITHOUT A PASSWORD!! @# | ||
+ | #@ @# | ||
+ | #@ This means anyone with network access to this computer @# | ||
+ | #@ may be able to view and control your desktop. @# | ||
+ | #@ @# | ||
+ | #@ >>> If you did not mean to do this Press CTRL-C now!! <<< @# | ||
+ | #@ @# | ||
+ | #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@# | ||
+ | ############################################################### | ||
+ | |||
+ | PORT=5900 | ||
+ | |||
+ | The VNC desktop is: debian:0 | ||
+ | </code> | ||
+ | |||
+ | <code>alain@Alain-PC:~$ vncviewer localhost | ||
+ | |||
+ | TigerVNC Viewer 64-bit v1.9.0 | ||
+ | Built on: 2018-12-01 21:51 | ||
+ | Copyright (C) 1999-2018 TigerVNC Team and many others (see README.rst) | ||
+ | See http://www.tigervnc.org for information on TigerVNC. | ||
+ | |||
+ | Tue Mar 26 04:04:18 2019 | ||
+ | DecodeManager: Detected 16 CPU core(s) | ||
+ | DecodeManager: Creating 4 decoder thread(s) | ||
+ | CConn: connected to host localhost port 5900 | ||
+ | CConnection: Server supports RFB protocol version 3.8 | ||
+ | CConnection: Using RFB protocol version 3.8 | ||
+ | CConnection: Choosing security type None(1) | ||
+ | CConn: Using pixel format depth 24 (32bpp) little-endian rgb888 | ||
+ | CConn: Using Tight encoding | ||
+ | </code> | ||
+ | ===== connexion avec ssl (préambule) ===== | ||
+ | <note tip>SSVNC est un client ssl - vnc dérivé de tightvnc . il gère aussi le ssh ainsi que le ssl + ssh . | ||
+ | |||
+ | je ne parle pas de ces deux options annexes ici , je ne me suis pas penché dessus . | ||
+ | |||
+ | mais libre à vous . vous pourrez ainsi développer ce tuto . </note> | ||
+ | installer ssvnc en local | ||
+ | <code root>apt install ssvnc </code> | ||
+ | |||
+ | on crée le dossier /.vnc/certs/accepted/ | ||
+ | |||
+ | avant de le créer , vérifier , avec tree , s'il n'existe pas déjà : | ||
+ | |||
+ | auquel cas , l'étape de création est inutile . | ||
+ | <code user>tree ~/.vnc/</code> | ||
+ | <code root>mkdir ~/.vnc/certs/ | ||
+ | |||
+ | mkdir ~/.vnc/certs/accepted/</code> | ||
+ | |||
+ | en ssh , on se connecte à la machine distante : | ||
+ | <code user>ssh <user_distant>@<ip_distant></code> | ||
+ | <note tip>ici , il est question du mot de passe systeme (en cas de besoin)</note> | ||
+ | |||
+ | on initialise la connexion :<code user>x11vnc -ssl SAVE-key</code> | ||
+ | après avoir rentré la passphrase , qu'on note sur un carnet de peur de l'oublier , | ||
+ | <note tip>ICI , il est question du mot de passe ssl (de la passphrase)</note> | ||
+ | |||
+ | on va copier la clé depuis le serveur vers le client : | ||
+ | <code user>scp -r -p ~/.vnc/certs/server-key.crt id_locale@ip_locale:~/.vnc/certs/accepted/server-key.crt</code> | ||
+ | |||
+ | ===== connexion avec ssl (utilisation manuelle) ===== | ||
+ | |||
+ | relancer x11vnc en ssh | ||
+ | <code user>x11vnc -ssl SAVE-key -forever</code> | ||
+ | <note important>rentrer la passphrase que l'on a noté (pour ne pas l'oublier).</note> | ||
+ | |||
+ | on ne ferme pas la console distante (ssh) et | ||
+ | |||
+ | on ouvre une console locale : | ||
+ | <code user>ssvnc</code> | ||
+ | puis rentrer comme demandé l'adresse de l'hôte : | ||
+ | |||
+ | ici , le pc distant . | ||
+ | |||
+ | et le mot de passe du pc distant . | ||
+ | |||
+ | ne pas rentrer de proxy . | ||
+ | |||
+ | dans le cas présent , c'est inutile . | ||
+ | |||
+ | laisser les réglages par défaut et | ||
+ | |||
+ | cliquer sur connexion . | ||
+ | |||
+ | ssvnc demandera confirmation pour le certificat (la 1ere fois) et | ||
+ | |||
+ | lancera vncviewer en ssl . | ||
+ | |||
+ | voilà ! | ||
+ | |||
+ | |||
+ | ===== Connexion à ssl : écrans types ssvnc ===== | ||
+ | |||
+ | graphiques : | ||
+ | |||
+ | [[https://framapic.org/x0dKtkbTpsLt/tqwCRehZfb7A.png|image de départ ssvnc]] | ||
+ | |||
+ | {{/file-Rd6be60172f02d1b2e7df6e3512487a07.png}} | ||
+ | |||
+ | [[https://framapic.org/X5prRZWcqSMO/l6vydxBIqKfp.png|ssvnc menu "options"]] | ||
+ | |||
+ | {{/file-Rdf464b8746bb16476ae7809343488537.png}} | ||
+ | |||
+ | [[https://framapic.org/f23Yib5HdyrH/Jruvs251FvjB.png|écran d'accueil ssvnc ]] | ||
+ | |||
+ | {{/file-R9d27116ce2291bd78762aa6219fcf447.png}} | ||
+ | |||
+ | [[https://framapic.org/Se130C7M5qIg/7mZedNZ5tv6y.png|demande confirmation mot de passe systeme (ssh) ]] | ||
+ | |||
+ | {{/file-Rf860ee84ba032ac7a132c3b8f11073e3.png}} | ||
+ | |||
+ | [[https://framapic.org/rusasqK1MmPN/fQD8vsoVybFV.png|résultat par exemple (ssvnc d'une V.M. à l'origine)]] | ||
+ | |||
+ | {{/file-R1482911941c8b0f10ea1a1670a63d5fc.png}} | ||
+ | |||
+ | |||
+ | |||
+ | |||
Ligne 200: | Ligne 371: | ||
WantedBy=multi-user.target | WantedBy=multi-user.target | ||
EOF</code> | EOF</code> | ||
+ | |||
+ | N.B.: remplacer <code>/path/.vncpasswd</code> par l'adresse du fichier de mot de passe . | ||
+ | |||
+ | ici (dans ce tuto): <code>/home/<user>/.vnc/passwd</code> | ||
+ | |||
+ | par exemple : <code>/home/switch/.vnc/passwd</code> | ||
on attribue les bons droits au fichier : | on attribue les bons droits au fichier : | ||
Ligne 224: | Ligne 401: | ||
===== Astuces :) ===== | ===== Astuces :) ===== | ||
Lancer un serveur vnc à distance , puis s'y connecter de chez vous, en une commande grâce à ssh : | Lancer un serveur vnc à distance , puis s'y connecter de chez vous, en une commande grâce à ssh : | ||
+ | il s'agit d'un "tunnel ssh" . | ||
+ | |||
<code user>ssh -f -L 5900:localhost:5900 your.ssh.server "x11vnc -safer -localhost -nopw -once -display :0"; vinagre localhost:5900</code> | <code user>ssh -f -L 5900:localhost:5900 your.ssh.server "x11vnc -safer -localhost -nopw -once -display :0"; vinagre localhost:5900</code> | ||
+ | |||
+ | dans le cas présent , vous pouvez remplacer "vinagre" par "vncviewer" . | ||
+ | |||
+ | ce qui donne : | ||
+ | <code user>ssh -f -L 5900:localhost:5900 your.ssh.server "x11vnc -safer -localhost -nopw -once -display :0"; vncviewer localhost:5900</code> | ||
+ | |||
+ | pareil : s'il est un peu capricieux , n'hésitez pas à le relancer plusiers fois de suite (2 ou 3 fois suffiront , normalement) | ||
Ligne 252: | Ligne 438: | ||
normalement /home/<utilisateur>/</code> | normalement /home/<utilisateur>/</code> | ||
- | je ne sais plus s'il faut redémarrer la session ou le pc après la création d'un alias . | + | avec un tunnel ssh , on peut obtenir ceci : |
+ | <code user>nano .bash_aliases</code> | ||
+ | <code user>alias tunnelssh='ssh -f -L 5900:localhost:5900 your.ssh.server "x11vnc -safer -localhost -nopw -once -display :0"; vncviewer localhost:5900'</code> | ||
+ | <note tip>je ne sais plus s'il faut redémarrer la session ou le pc après la création d'un alias .</note> | ||
+ | On peut lister les alias . ce qui permet de verifier si le nôtre est bien enregistré . | ||
+ | {{/file-R233df7a588a3cf96fa1c293aa1d4e178.png}} | ||
+ | <code user>alias | ||
+ | alias agf='sudo apt full-upgrade' | ||
+ | alias agg='sudo apt upgrade' | ||
+ | alias agu='sudo apt update' | ||
+ | alias dir='dir --color=auto' | ||
+ | alias egrep='egrep --color=auto' | ||
+ | alias fgrep='fgrep --color=auto' | ||
+ | alias fullmaj='agu && agf' | ||
+ | alias grep='grep --color=auto' | ||
+ | alias l='ls -CF' | ||
+ | alias la='ls -A' | ||
+ | alias ll='ls -l' | ||
+ | alias logs='sudo multitail -s 2 -f /var/log/messages -f /var/log/kern.log -f /var/log/syslog -f /var/log/dmesg -f /var/log/ufw.log' | ||
+ | alias ls='ls --color=auto' | ||
+ | alias maj='agu && agg' | ||
+ | alias vdir='vdir --color=auto' | ||
- | ===== culture générale ===== | + | </code> |
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== culture générale <biliographies> ===== | ||
Ligne 277: | Ligne 491: | ||
[[https://www.mankier.com/1/x11vnc | x11vnc : commandes (eng.) ]] | [[https://www.mankier.com/1/x11vnc | x11vnc : commandes (eng.) ]] | ||
+ | |||
+ | Site généraliste très intéressant (ssh , vnc , ssvnc , ...) : | ||
+ | |||
+ | [[https://pronflette.developpez.com/tutoriels/controle-distance/]] | ||
vnc : | vnc : | ||
Ligne 311: | Ligne 529: | ||
[[http://ssvnc.sourceforge.net/ | ssl visualisation en graphique ]] | [[http://ssvnc.sourceforge.net/ | ssl visualisation en graphique ]] | ||
+ | |||
+ | [[http://www.sebsauvage.net/comprendre/ssl/ | explications sur ssl ]] | ||
nano : | nano : | ||
[[https://debian-facile.org/doc:editeurs:nano | petit mode d'emploi de nano ]] | [[https://debian-facile.org/doc:editeurs:nano | petit mode d'emploi de nano ]] | ||
+ | |||
+ | ssvnc : | ||
+ | |||
+ | [[http://www.karlrunge.com/x11vnc/ssvnc.html | site officiel ssvnc (eng.)]] | ||
+ | |||
+ | [[https://sourceforge.net/projects/ssvnc/ | sourceforge ssvnc (eng.)]] | ||
+ | |||
+ | adressage I.P. : | ||
+ | |||
+ | [[https://www.supinfo.com/articles/single/4557-differences-ipv4-ipv6 | SUPINFO : IPV4 VS IPV6]] | ||
+ | |||