Pages : 1
#1 Le 12/05/2009, à 22:44
- thurston
VNC & ssh: tutorial (adapté free.fr)
Bonjour,
je viens de faire la manip avec un membre de la famille de piloter son PC à travers internet, et j'espère que le résultat est une connexion VNC sécurisée par un tunelling ssh. J'ai noté toutes les opérations à faire ci dessous. C'est très - trop - détaillé, mais tout y est j'espère. C'est également très orienté freebox, car c'était mon cas. A noter que la page ici est très complète http://doc.ubuntu-fr.org/vnc, mais j'ai eu pas mal de doute sur les adresses ip, la redirection des ports, iptables....sur quel pc installer des trucs, nom de user à utiliser
PC SLave: le PC que l'on veut controler à distance
PC Master: celui dont on se sert pour controler
Configuration freebox Slave
**********************
Interface gestion Free.fr > Internet > Configurer mon routeur Freebox
Vous souhaitez activer ce service: [v] Activer
IP freebox 192.168.[0].[254]
DHCP activé [v] Activé
[...]
Redirection de ports
Port Protocole Destination Port
22 tcp 192.168.[0].[100] [22] Ajouter [v]
[...]
Redemarrer la freebox (deconnecter du réseau ectrique et reconnecter)
Attention, bien commencer par cette étape, surtout si le mode routeur était inactif
Configuration PC Slave / rapport au mode routeur selectionné
**********************************************
sudo gedit /etc/network/interfaces # valider et noter l'adresse 192.168.0.100
[...]
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
gateway 192.168.0.254
auto eth0
[...]
sudo /etc/init.d/networking restart # relance les interfaces reseau
Configuration PC Slave / rapport à l'install de ssh et utilisation port 22
****************************************************
sudo apt-get install fail2ban -y # securise contre attaque brutale
sudo apt-get install openssh-server -y # instal du serveur ssh
echo "GatewayPorts yes" | sudo tee -a /etc/ssh/sshd_config
sudo /etc/init.d/ssh stop
sudo /etc/init.d/ssh start # relancer ssh (stop + start)
sudo gedit /etc/init.d/moniptables #moniptables = fichier iptables
[...]
iptables -A INPUT -p tcp --dport 22 -j ACCEPT # accept SSH input traffic on port 22
[...]
sudo /etc/init.d/networking restart # relance les interfaces reseau
Configuration PC Slave / rapport à l'utilisation de VNC de l'extérieur
*********************************************************
Système > Preferences > Bureau à distance
General
Partage
[v] Autoriser d'autres utilisateurs à voir....
[v] Autoriser d'autres utilisateurs à controler....
Securite
[v] Vous demander confirmation
[ ] L'utilisateur doit saisir...
Avancé
Reseau
[ ] N'autoriser...
[ ] Utiliser un autre port
Securite
[ ] Requiert le chiffrement
[ ] Verouiller l'écran....
Zone de notification
( ) Toujours afficher une icone
(o) N'afficher une icone...
( ) Ne jamais...
Command PC Slave
****************
Determination de son addresse IP Publique (celle que la freebox utilise pour acceder à internet)
method 1: GET whatismyip.org (attention majuscule obligatoire)
method 2: firefox http://checkip.dyndns.org/
method 3: Interface gestion Free.fr > Internet > Afficher mon Adresse IP
User de PC Slave: helpme
Transmettre à l'utilisateur du PC Master
ip publique: 82.248.1.90 par exmple
user sur la session du PC Slave: helpme
mot de passe de helpme
************************************************************
************************************************************
Configuration PC Master
*******************
Rien à faire, ni iptables, ni installation de quoique ce soit.
Command PC Master
****************
User de PC Master: grandmanitou
Ouvrir un terminal et le laisser ouvert tout le temps de la connexion distante
terminal 1: ssh -L 5901:localhost:5900 -C helpme@82.248.1.90
(ssh -X -L ... for X graphical soft...like gedit)
(ssh -L SORTANT:localhost:ENTRANT UTILISATEUR@SERVEUR_SSH)
Attention: un bug qui se caractérise par le message suivant: channel 3: open failed: connect failed: Connection refused
peut etre contourné en utilisant 5901 au lieu de 5900 dans la commande qui devient:
ssh -L 5901:localhost:5901 -C helpme@82.248.1.90
il faut de plus BIEN valider que le serveur vnc est actif (le relancer au cas où par la commande vncserver)
Enfin, il semble qu'il n'est plus possible de se connecter par vnc sur un nom d'utilisateur différent de celui
que l'on cherche à secourir...
Ouvrir un 2ème terminal
terminal 2: vncviewer localhost:1
ou encore (1=64 colour, 2=256)
terminal 2: vncviewer -LowColourLevel 2 -AutoSelect 0 localhost:1
Si l'on veut lancer des appli sur un serveur sans installer X sur le serveur
*************************************************************
Sur le PC client ssh_config => fichier client
/etc/ssh/ssh_config
mettre ForwardX11 yes
Sur le Server en remote
ne pas installer X
simplement installer l'appli (nedit par exemple)
installer auth sudo apt-get install auth
verifier
/etc/ssh/sshd_config
X11Forwarding yes
Voila, ca doit marcher si helpme vous donne l'autorisation de piloter son PC.
A+
Thurston
PS:
Si j'ai droit à des remarques, je modifierai ce 1er post uniquement.
Dernière modification par thurston (Le 11/10/2010, à 21:50)
Hors ligne
#2 Le 13/05/2009, à 09:37
- SkeRoy
Re : VNC & ssh: tutorial (adapté free.fr)
c'est très bien détaillé !
quelques remarques :
Si le PC Slave est un fixe ok pour l'attribution forcée d'une adresse. Si c'est un portable, il vaudrait mieux préférer l'attribution de l'IP en dhcp, en disant au routeur de toujours attribuer la même adresse IP à l'adresse MAC de PC Slave.
Pour iptable, j'utilise firestarter pour ouvrir le port.
le plus important pour moi :
Pour SSHD : perso j'ai détourné le port d'écoute (22) sur un port de mon choix. Rapidement en suivant les logs j'ai remarqué qu'il y avait des essais de connexion. De plus, j'ai suivi les recommandations que l'on peut trouver sur le net, comme n'autoriser que le login voulu en ssh, interdire root...
Sinon c'est une bonne idée de faire passer vnc via ssh, je n'y avais pas pensé.
J'utilise majoritairement la console, donc seulement ssh, et quand j'ai besoin de vnc j'active manuellement x11vnc, donc il ne tourne pas en permanence, ça suffit pour mes besoins...
++
Dernière modification par SkeRoy (Le 13/05/2009, à 09:38)
Hors ligne