Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/03/2011, à 12:13

griv

Relier deux PCs sur réseau local

Bonjour à tous,

Ce qui suit n'est pas la description d'un problème, mais plutôt la méthode que j'utilise pour relier deux de mes PCs (tournant sous Ubuntu 10.10) sur mon réseau local. En espérant que cela pourrait être utile à quelqu'un.

Ce que je voulais faire :
=================

1°) Synchroniser 2 PCs avec le logiciel de synchronisation Unison, utilisant SSH

2°) Piloter un PC depuis l'autre

3°) Faire des transferts de fichiers par gFTP ou Filezilla

Les 2 PCs à relier tournent sous Ubuntu 10.10

Ce que j'ai fait (après moulte tâtonnements !) :
=================================

1°) Installation de openssh-server et sftp (présents dans la Logithèque de Ubuntu)

2°) Placement dans /etc/ssh/sshd_config des lignes :

PermitRootLogin no
AllowUser xxxx

(xxxx est mon nom d'utilisateur)

3°) Connaître toutes les IPs de mon réseau local :     nmap -sP 192.168.0.0/24

4°) Sur chacun des PCs, aller à Système/Préférences/Bureau à distance et cocher :

*Autoriser d'autres utilisateurs à voir votre bureau
*Autoriser d'autres utilisateurs à contrôler votre bureau
*Chaque accès à cet ordinateur doit être confirmé
*Configurer automatiquement le réseau pour accepter cette connexion

5°) Sur un des PCs, aller à Système/Administration/Outils réseau/Scan de ports et entrer l'adresse IP obtenue précédemment par nmap et cliquer sur "Scanner". Etre patient, car la recherche peut prendre quelque temps. Parmi les ports ouverts, on doit obtenir 5900 et 5901.

6°) Si on utilise le parefeu, aller à Système/Administration/Configuration du pare-feu. Refuser les entrants. Autoriser le PC auquel on veut se connecter en cliquant par exemple sur "Avancé", et en entrant les IPs des 2 PCs dans Source, et Destination, et en autorisant en entrée TCP et UDP ("les deux").

7°) Choisir un des ports détectés au 5°) pour se connecter sur le 2ème PC depuis le premier, en allant à :

Applications/Internet/Visionneur de bureau distant
Cliquer sur "Se connecter"
Choisir le protocole VNC
Entrer l'adresse IP suvie du numéro de port (Exemple 192.168.0.xxx:5901)
Cliquer sur "Se connecter"

Sur le PC auquel on se relie, un message d'autorisation est demandé. Cliquer sur cette autorisation.
Sur le premier PC, on a l'écran du 2ème, et on peut maintenant le contrôler.

8°) Synchronisation par Unison et SSH

Exemple qui marche chez moi. J'utilise une ancienne version de Unison, pour des raisons qui me sont propres. Je suppose que cela marcherait en installant sur les 2 PCs la dernière version.

==========================================================
#!/bin/bash
#Synchronisation d'un répertoire de 2 PCs
#Depuis PC1 vers PC2 sans contrôle permissions, avec contrôle time
echo Synchronisation d\'un répertoire de 2 PCs
echo "Entrer le chemin du répertoire (Ex: Rep1/Rep2) ou fin pour terminer :"
read reper
while [ $reper != "fin" ]; do
echo Synchronisation de $reper
Programmes/unison/unison-2.13.16-linux-gtk2 -servercmd Programmes/unison/unison-2.13.16-linux-gtk2 /home/xxxx ssh://xxxx@192.168.0.yyy:5900//home/xxxx  -path=$reper -perms 0  -times=true -prefer newer
echo Entrer le chemin du répertoire Ex: Rep1/Rep2, ou fin pour terminer :
read reper
done
echo Synchronisation terminée
exit
=========================================================

9°) gFTP

Entrer IP, port (en principe 5900), mot de passe et sélectionner SSH2, et le tour est joué.


C'est à peu près tout ce que je peux dire sur les manips que j'ai faites pour relier mes 2 PCs sur mon réseau local.
En espérant que ça puisse aider quelqu'un qui aurait un pb en voulant faire la même chose...:)

Hors ligne

#2 Le 23/03/2011, à 23:35

MrWaloo

Re : Relier deux PCs sur réseau local

Salut,

Sans chercher à décourager personne, je déconseille fortement de reprendre cet exemple.
Ce serait comme de marcher avec une chaussure de ville noire au pied droit et une botte en caoutchouc jaune (qui monte jusqu'au genou) de l'autre, c'est possible, mais pas super élégant... Mais bon on arrive à marcher...

@griv: si cette solution fonctionne chez toi et qu'elle te convient, c'est bien, ne change rien, mais ne conseille ça à personne stp.

A+
Michel


"De tous ceux qui n'ont rien à dire, les plus agréables sont ceux qui se taisent !!" (Desproges)
UNIX is an operating system, OS/2 is half an operating system, Windows is a shell, MS-DOS is a boot sector virus.

Hors ligne

#3 Le 24/03/2011, à 06:50

griv

Re : Relier deux PCs sur réseau local

@MrWaloo

Bonjour,

Merci pour ta critique. C'est très intéressant, mais ça mérite quelque développement.

1°) Qu'est-ce qui ne va pas dans ma solution (qui est, certes, très empirique, mais qui marche, du moins pour moi, comme tu dis fort justement...)  ? Quels sont les inconvénients, les risques, etc. ? Tu penses bien que ça  m'intéresse au plus haut point, et que ça m'intrigue, et même m'inquiète !

2°) Comment fais-tu, toi, pour que ça marche pour tout le monde, et avec des chaussures appareillées ? Je pense que ça pourrait intéresser beaucoup de gens qui, comme moi, ne sont pas très versés dans la technique, et pataugent un peu pour relier et synchroniser leur PC à leur portable, par exemple, pour ne citer que ce cas de figure.

Merci d'avance, pour moi, et pour les autres ! smile

Hors ligne

#4 Le 25/03/2011, à 12:00

griv

Re : Relier deux PCs sur réseau local

@MrWaloo

Quand tu auras une minute, merci de répondre à mes interrogations ci-dessus. smile

Hors ligne

#5 Le 26/03/2011, à 19:01

griv

Re : Relier deux PCs sur réseau local

Bonjour à tous,

Petite correction au 3°) de "Ce que j'ai fait" :

c'est "sudo  nmap -sP 192.168.0.0/24" que je voulais mettre

Hors ligne

#6 Le 27/03/2011, à 22:05

MrWaloo

Re : Relier deux PCs sur réseau local

Je te promets de développer demain, je prendrai le temps qu'il faudra, mais demain, là je dois aller me coucher.
Sache que ce n'est qu'à partir du point 8 que  ça m'inquiète, avant ce sont des explications qui manquent. Comme dit, je développe demain (ou mardi ?)


"De tous ceux qui n'ont rien à dire, les plus agréables sont ceux qui se taisent !!" (Desproges)
UNIX is an operating system, OS/2 is half an operating system, Windows is a shell, MS-DOS is a boot sector virus.

Hors ligne

#7 Le 28/03/2011, à 05:22

griv

Re : Relier deux PCs sur réseau local

Ah ! Bon, tu me rassures un peu ! Pour ce qui est des explications, tu penses bien que ce n'était pas mon but, en étant bien incapable d'ailleurs, car je ne suis pas un expert pointu comme toi, mais simplement un utilisateur "lambda", qui, ayant ramé pour trouver un truc qui marche, veut en faire profiter d'autres utilisateurs lambda, qui, comme moi, n'ont pas le temps d'éplucher des tonnes de docs.

Donc, de toutes façons, tes lumières seront les bienvenues ! Et maintenant que tu m'as dit que tu avais l'intention de me répondre, prends ton temps, rien ne presse car j'ai vu que tu intervenais souvent sur le forum pour apporter ton aide dans des cas pointus, et ça, ça me semble plus important que ma petite procédure empirique.:)

Hors ligne

#8 Le 28/03/2011, à 21:47

MrWaloo

Re : Relier deux PCs sur réseau local

J'espère que je n'ai pas été trop tranchant et que tu ne prends pas mon intervention comme une attaque...

griv a écrit :

1°) Installation de openssh-server et sftp (présents dans la Logithèque de Ubuntu)

openssh-server: serveur ssh, permet d'utiliser un canal de données sécurisé par cryptage
sftp: serveur ftp sécurisé par le même moyen que ssh (me semble-t-il)

griv a écrit :

2°) Placement dans /etc/ssh/sshd_config des lignes :

PermitRootLogin no
AllowUser xxxx

(xxxx est mon nom d'utilisateur)

Ceci permet d'empêcher l'utilisateur root de se connecter en ssh et ainsi de s'affranchir du problème de contrôle à distance par une personne qui aurait tous les droits, et d'autoriser xxxx à se connecter.

Petite info, par défaut sous Ubuntu root ne peut se logger, et chez moi je n'ai jamais préciser "AllowUser michel" pour m'autoriser l'accès, ça fonctionne de base.
Je
J'espère que je n'ai pas été trop tranchant et que tu ne prends pas mon intervention comme une attaque...

griv a écrit :

1°) Installation de openssh-server et sftp (présents dans la Logithèque de Ubuntu)

openssh-server: serveur ssh, permet d'utiliser un canal de données sécurisé par cryptage
sftp: serveur ftp sécurisé par le même moyen que ssh (me semble-t-il)

griv a écrit :

2°) Placement dans /etc/ssh/sshd_config des lignes :

PermitRootLogin no
AllowUser xxxx

(xxxx est mon nom d'utilisateur)

Ceci permet d'empêcher l'utilisateur root de se connecter en ssh et ainsi de s'affranchir du problème de contrôle à distance par une personne qui aurait tous les droits, et d'autoriser xxxx à se connecter.

Petite info, par défaut sous Ubuntu root ne peut se logger, et chez moi je n'ai jamais préciser "AllowUser michel" pour m'autoriser l'accès, ça fonctionne de base.
Je
dirais donc que ce point est très largement facultatif, pour ne pas dire inutile, je ne sais pas si griv a eu des problèmes... Je ne m'avance pas.

griv a écrit :

3°) Connaître toutes les IPs de mon réseau local :     nmap -sP 192.168.0.0/24

C'est effectivement un moyen pour connaître les adresses IP à un instant donné.
Chez la plupart des gens, les adresses IP sont attribuées dynamiquement et ne sont pas forcément toujours les mêmes d'un jour à l'autre.
Il faudrait bien préciser ce point ici, je pense.

griv a écrit :

4°) Sur chacun des PCs, aller à Système/Préférences/Bureau à distance et cocher :

*Autoriser d'autres utilisateurs à voir votre bureau
*Autoriser d'autres utilisateurs à contrôler votre bureau
*Chaque accès à cet ordinateur doit être confirmé
*Configurer automatiquement le réseau pour accepter cette connexion

En recherchant "Bureau à distance" dans la documentation de ce site, on trouve comment activer cette fonctionnalité, notamment à la page (très complète) sur VNC

griv a écrit :

5°) Sur un des PCs, aller à Système/Administration/Outils réseau/Scan de ports et entrer l'adresse IP obtenue précédemment par nmap et cliquer sur "Scanner". Etre patient, car la recherche peut prendre quelque temps. Parmi les ports ouverts, on doit obtenir 5900 et 5901.

La vérification est effectivement un plus.

griv a écrit :

6°) Si on utilise le parefeu, aller à Système/Administration/Configuration du pare-feu. Refuser les entrants. Autoriser le PC auquel on veut se connecter en cliquant par exemple sur "Avancé", et en entrant les IPs des 2 PCs dans Source, et Destination, et en autorisant en entrée TCP et UDP ("les deux").

La configuration se trouve sur la page VNC, mais c'est correcte...

griv a écrit :

7°) Choisir un des ports détectés au 5°) pour se connecter sur le 2ème PC depuis le premier, en allant à :

Applications/Internet/Visionneur de bureau distant
Cliquer sur "Se connecter"
Choisir le protocole VNC
Entrer l'adresse IP suvie du numéro de port (Exemple 192.168.0.xxx:5901)
Cliquer sur "Se connecter"

Sur le PC auquel on se relie, un message d'autorisation est demandé. Cliquer sur cette autorisation.
Sur le premier PC, on a l'écran du 2ème, et on peut maintenant le contrôler.

Je conseillerais plutôt de s'appuyer sur la page VNC avec la possibilité d'utiliser un tunnel ssh

griv a écrit :

8°) Synchronisation par Unison et SSH

Exemple qui marche chez moi. J'utilise une ancienne version de Unison, pour des raisons qui me sont propres. Je suppose que cela marcherait en installant sur les 2 PCs la dernière version.

==========================================================
#!/bin/bash
#Synchronisation d'un répertoire de 2 PCs
#Depuis PC1 vers PC2 sans contrôle permissions, avec contrôle time
echo Synchronisation d\'un répertoire de 2 PCs
echo "Entrer le chemin du répertoire (Ex: Rep1/Rep2) ou fin pour terminer :"
read reper
while [ $reper != "fin" ]; do
echo Synchronisation de $reper
Programmes/unison/unison-2.13.16-linux-gtk2 -servercmd Programmes/unison/unison-2.13.16-linux-gtk2 /home/xxxx ssh://xxxx@192.168.0.yyy:5900//home/xxxx  -path=$reper -perms 0  -times=true -prefer newer
echo Entrer le chemin du répertoire Ex: Rep1/Rep2, ou fin pour terminer :
read reper
done
echo Synchronisation terminée
exit
=========================================================

C'est ce qui me gène le plus dans ta description...
Mais sache que le fait de te lancer dans la réalisation (avec succès wink ) d'un tel script te vaut tous les honneurs.

Tu ne précises pas que tu as "installé" unison dans ton répertoire perso sous "Programmes/unison/unison-2.13.16-linux-gtk2", ce qui ne se fait normalement pas.
Normalement, la compilation d'un logiciel se termine par "make install", ce qui copie l'exécutable dans un répertoire particulier (faisant partie du $PATH) qui lui permet d'être lancé directement avec "unison" (par exemple).
Je n'ai pas téléchargé les sources en question, je ne sais pas si c'est le cas, mais je suppose fortement que ça l'est.

Pourquoi utiliser le port 5900 (VNC) pour synchroniser des données ? Le port 22 (port ssh par défaut) le ferait très bien...
Si tu as une raison particulière, il faudrait peut être l'expliquer.

griv a écrit :

9°) gFTP

Entrer IP, port (en principe 5900), mot de passe et sélectionner SSH2, et le tour est joué.

Encore une fois, pourquoi le port 5900 (celui de VNC) et pas 22 ?


Donc tu vois, globalement, ce ne sont que des règles établies qui sont transgressées, ce n'est pas interdit, mais ce n'est pas à conseiller.
C'est ce que j'ai essayé de faire passer comme message.

Par contre, pour toi, j'espère que ma contribution à ce post va te permettre d'en apprendre un peu plus, non pas ne me relisant (je ne fais que critiquer ;P ) mais en titillant ta curiosité et en allant chercher les réponses...

Bon courage dans la poursuite de ton projet.

NB: cherche du coté de sshfs pour l'accès au fichier à distance (c'est comme sftp, si on veut, mais tu peux l'utiliser comme un disque externe avec "mount")
Rsync permet de synchroniser des données, il doit certainement exister des interfaces graphiques pour ça.
Personnellement, j'utilise NX server (c'est pas open source...) pour l'accès bureau à distance, c'est aussi cross-platform et sécurisé (utilisation du canal ssh)


"De tous ceux qui n'ont rien à dire, les plus agréables sont ceux qui se taisent !!" (Desproges)
UNIX is an operating system, OS/2 is half an operating system, Windows is a shell, MS-DOS is a boot sector virus.

Hors ligne

#9 Le 29/03/2011, à 07:05

griv

Re : Relier deux PCs sur réseau local

Merci beaucoup d'avoir pris le temps "d'éclairer ma lanterne". Je suis maintenant tout à fait rassuré : ma solution empirique est plus "non orthodoxe" que "bancale", comme pouvait le faire croire ta comparaison imagée du début.
Tu me donnes ici des pistes intéressantes pour me cultiver un peu plus sur ce sujet complexe quand j'en aurai le temps.

Beaucoup de tes remarques me semblent pertinentes, en particulier, les opérations inutiles ou redondantes que je peux faire. Elles s'expliquent par le fait que ma démarche est empirique : j'ai essayé des trucs jusqu'à ce que ça marche...

En ce qui concerne le port 22, j'ai eu quelques problèmes : soit il n'était pas ouvert, soit, ça ne marchait pas. D'autre part, j'ai souvent lu sur les forums qu'on déconseillait de l'utiliser, car c'est un port "bateau" que tous les hackers utilisent... Mais c'est vrai qu'avec le pare-feu, je ne vois pas ce que ça risque...

En ce qui concerne Unison, j'ai bien précisé que j'utilisais une ancienne version pour des raisons propres à mon environnement. Unison ne fonctionne que si on a la même version à chaque bout, et un des ordis que je synchronise périodiquement (mon portable) tourne avec une ancienne version d'Ubuntu et de Unison. Cette version peut être récupérée directement sous format du fichier binaire exécutable sur le site d'Unison, ce qui explique qu'il n'y a pas de procédure make et que je l'ai installé dans mon répertoire Programmes. Sinon bien sûr la version courante d'Unison s'installe normalement et on l'appelle classiquement par unison.

C'est vrai que ma petite procédure manque d'explications, mais je crois que les tiennes complètent ou rectifient très bien ce manque, et un utilisateur qui peinerait pour faire la même chose, trouvera peut-être ainsi matière à faire avancer son "schmilblick".

Cela étant, la synchro par disque dur externe interposé est tout de même plus simple ! Mais le pilotage d'un PC depuis un autre PC est une fonction incontournable.

Encore merci, car une critique motivée est une critique constructive.

Bonne continuation ! smile

Hors ligne