|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 205 ![]() |
Jusqu'à maintenant, j'utilise rsync comme suit :
A - Sous Ubuntu (Synchronisation avec un serveur distant debian) Code :
rsync -e ssh -ova root@serveurdistant:/source/* /cible/ Code :
rsync -e ssh -av --size-only --chmod=ugo=rwX "/cygdrive/source/" "/cygdrive/cible/" Pourtant, tout marche. Maitenant que j'essaie d'améliorer mes synchronisations, je suis confronté à deux problèmes : a) Si j'utilise --password-file dans ma synchro A (lancée sous linux), j'ai une erreur m'indiquant que cette option n'est possible que pour accéder à un daemon. b) Si, dans ma synchronisation B (lancée sous windows), je choisis comme cible root@serveurdistant:/cible je récolte un "Could not create directory /home/user/.ssh". J'ai consulté depuis plusieurs jours de nombreux tutos de qualité, j'ai tenté de les comprendre et d'en tenir compte, mais je passe certainement à côté de quelque chose. Je me demande même maintenant comment ma synchonisation A peut marcher alors que je n'ai rien paramétré. - est-ce le fait d'utiliser root ? - pourquoi le fait d'utiliser "--password-file" me dit qu'il ne s'agit pas d'un daemon alors que j'y accède sans problème sans cette option ? Merci pour toute aide, et d'avoir pris le temps de me lire. Phil |
|
|
01
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : septembre 2006 Messages : 2 291 ![]() |
rsync utilise soit la connection ssh, soit se connecte à un daemon rsyncd sur la machine destination.
Comme vous spécifiez "-e ssh", l'option password-file n'a pas d'usage d'où le message d'erreur. Vous pouvez modifier rsyncd.conf : tant que le daemon rsyncd n'est pas lancé sur la machine destination çà ne changera strictement rien, puisque que lui seul en tient compte. Et comme vous n'en avez pas besoin de rsyncd sur la machine pour faire "rsync -e ssh"… çà fonctionne comme vous l'avez constaté. Et votre problème sous Windows doit venir que rsync ne peut créer sur le volume assigné à Cygwin le dossier en question. (Vous êtes root sur le serveur distant, pas sur la machine locale…) |
|
|
01
|
|
|
#3 | ||
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Salut,
Extrait de man "rsync" : Code :
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
||
|
|
10
|
|
|
#4 |
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 205 ![]() |
Merci pour vos réponses.
Donc, si je comprends bien : a) un appel rsync à travers une connection ssh ne fait pas appel à un daemon rsync et ne nécessite donc pas que ce daemon soit activé sur le serveur distant. Mais alors, comment rsync est il lancé ?b) le paramétrage dans rsyncd.conf ne sert qu'en cas d'appel interne au daemon rsync et n'est pas utilisé en cas d'appel via ssh. c) Dans le cas d'un appel rsync en ssh de windows vers un serveur distant, rsync a besoin d'accéder au repertoire /home/user/.ssh - pourquoi cela n'est-il pas le cas si je remplace la cible distante par une cible locale ?Merci encore, Phil |
|
|
10
|
|
|
#5 | ||||||
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Citation:
Citation:
Citation:
Citation:
Citation:
Citation:
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
||||||
|
|
01
|
|
|
#6 |
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 205 ![]() |
Merci pour tes réponses claires.
Mais je ne comprends pas ça : - mon user local (windows) est A - mon user distant (debian) est B - le message d'erreur émis par ssh lancé sur le poste local (windows) est : Could not create directory /home/A/.ssh A est mon user local, pas distant. Pourquoi le chercherait-il sur le serveur distant ? C'est pas logique, non ? D'ailleurs, pourquoi n'ai je pas ce problème lorsque je fais le même appel ssh vers debian à partir d'un poste local Linux ? Merci encore |
|
|
01
|
|
|
#7 |
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Quelle commande tapes-tu exactement ?
A partir du moment où tu utilises "ssh" il faut que ton USER possède un compte sur le serveur ou spécifier un utilisateur existant...
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|
|
01
|
|
|
#8 |
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 205 ![]() |
Je lance, sous userlocal :
Code :
rsync -e ssh -av --size-only --chmod=ugo=rwX /cygdrive/source/ userdist@serverdist:/cible/ |
|
|
01
|
|
|
#9 |
|
Expert Confirmé
![]() Inscription : septembre 2006 Messages : 2 291 ![]() |
ssh a besoin de la clé publique du client, et si elle n'est pas spécifiée par l'option -i alors il cherche les endroits par défaut dont le /home/client_user/.ssh/, et s'il ne trouve pas de clés publiques alors il tentera une connection par challenge.
(jouer avec les options -v et -vv de ssh - en dehors de rsync - pour voir ce qu'il fait…) Si vous ne voulez pas créer de /home/client_user dans l'environnement cygwin, mettez la clé publique à utiliser dans un endroit dont vous passerez le path à l'option -i de ssh (attention aux guillemets rsync a aussi une option -i qui n'a rien à voir…). par contre le daemon sshd auquel ssh se connecte sur la machine distante, lui, cherchera les clés privées sur le serveur aux endroits spécifiés dans son fichier de configuration, dont normalement le /home/server_user/.ssh. |
|
|
01
|
|
|
#10 |
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
En fouinant sur le Net, j'ai vu que peut être l'installation du paquet "cygwin ssh extra utils" serait utile...
A explorer après la réponse de "JeitEmgie"
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|
|
01
|
|
|
#11 |
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 205 ![]() |
J'ai fait la tentative suivante :
a) ssh-keygen -P "" b) Choisi un cheminlocal pour la clé (ceci y a placé id_rsa et id_rsa.pub) c) remplacé ssh par "ssh -i /cygdrive/cheminlocal/id_rsa" J'ai toujours "Could not create directory /home/client_user/.ssh". Phil |
|
|
01
|
|
|
#12 | |
|
Expert Confirmé
![]() Inscription : septembre 2006 Messages : 2 291 ![]() |
Citation:
~/.ssh/authorized_keys du compte auquel on veut se connecter sur le serveur… et pour rappel : essayez "ssh -v" ou même "ssh -vv" seul d'abord AVANT de compliquer la situation avec rsync, ainsi vous saurez pourquoi il essaie de créer /home/… ici il y a des chances que la clé étant refusée parce que n'étant pas dans les authorized_keys, il essaie d'en trouver une autre dans /home/… |
|
|
|
01
|
|
|
#13 |
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 205 ![]() |
(suite)
"ssh -v" et "ssh -vv" me présentent une liste d'options pour la commande ssh. Mais je n'y vois pas de moyen d'accéder aux paramètres de configuration. Phil |
|
|
01
|
|
|
#14 | |||
|
Expert Confirmé
![]() Inscription : septembre 2006 Messages : 2 291 ![]() |
Citation:
il faut la commande complète : -v et -vv sont uniquement pour activer le mode "verbose" ou "very verbose"… Code :
|
|||
|
|
01
|
|
|
#15 |
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 205 ![]() |
Merci,
Cette instruction sert-elle à lire ou à définir la valeur ? Phil |
|
|
01
|
|
|
#16 |
|
Expert Confirmé
![]() Inscription : septembre 2006 Messages : 2 291 ![]() |
??????????
la commande ssh sert à vous connecter à la machine distance et obtenir un shell sous le compte de l'utilisateur, le fait d'y ajouter les options verbose vous permettra de voir de ce que fait ssh pour ce connecter : il va vous donner la suite exacte des protocoles et clés utilisées et ce qui échoue… et donc vous aurez un diagnostic complet de la connection et devrait théoriquement permettre de comprendre pourquoi il cherche un dossier /home/user/… sur la machine locale. |
|
|
01
|
|
|
#17 |
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 205 ![]() |
Encore merci. Vous allez finir par me prendre pour...
J'ai lancé ma commande en mode verbose. Le seul commentaire qui me parle concernant mon problème est : Warning: Identity file PATH_TO_KEY not accessible: No such file or directory. Je pense que je ne maîtrise pas assez le paramétrage Openssh sur mon poste Vista. En particulier, je n'arrive pas à accéder au paramétrage. D'ailleurs, je n'ai pas de répertoire Openssh. L'exécutable est dans le répertoire cwRsync. Je vais appronfondir tout cela. Merci pour votre aide. Phil |
|
|
01
|
|
|
#18 | ||
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 205 ![]() |
Bonjour,
J'ai lu que le message "Could not create directory /home/client_user/.ssh" n'a pas été adapté à la version windows. Ce message ne signifierait donc pas qu'il cherche ce répertoire, mais plus simplement que le compte utilisateur est mal configuré. Toutes les doc que j'ai consultées parlent d'une fenêtre Cygwin et des instructions : Code :
Phil |
||
|
|
01
|
Copyright © 2000-2012 - www.developpez.com