J'utilise maintenant rsync avec -e 'ssh -p 10022'
option pour spécifier le port.
J'ai déjà installé ssh ~/.ssh/config
.
Host myvps
HostName example.com
User ironsand
Port 10022
Puis-je utiliser cette configuration de rsync facilement? Ou puis-je créer ~/.rsync
et définir un port par défaut pour spécifier le serveur?
Cela n'a pas fonctionné pour moi. J'ai un hébergement de saut dans mon ~ / .ssh / config
ssh: impossible de résoudre le nom d'hôte vm-app01 : nom de noeud ni nom de serveur fourni, ou inconnu rsync: connexion inopinément fermée (0 octet reçu jusqu'à présent) [expéditeur] erreur rsync: erreur inexpliquée (code 255) dans / SourceCache / rsync / rsync- 42 / rsync / io.c (452) [expéditeur = 2.6.9]
Cependant, cela fonctionne très bien
Modifier, j'ai pu dépasser la résolution de nom en forçant rsync ssh à charger un fichier de configuration avec -F sudo rsync -az -e "ssh -F /Users/kbroughton/.ssh/config"
Cela passe une erreur mais une autre. Autorisation refusée (publickey, gssapi-keyex, gssapi-with-mic). ssh_exchange_identification: Connexion fermée par l'hôte distant
A également essayé de définir explicitement -i et user @ dans la connexion, mais la même erreur se produit.
ÉDITER
Un autre point de données. Si j'utilise l'ip flottante du pivot vm (hôte de saut) au lieu de son nom, vm-pivot rsync fonctionne. Mais vider explicitement tous mes ssh / config dans le -e "ssh" ne fonctionne pas. Détails: mac local, mis à niveau vers rsync 3.1.0, centos distant rsync 3.0.9.
Cela marche
la source
@darKoram. Pour les cas où vous appelez ssh avec un chemin non standard et essayez d'utiliser ssh dans ProxyCommand, ce problème est dû à l'absence d'héritage. Vous avez deux options: fournir directement le même fichier dans la commande interne ou le pirater dynamiquement. Vous pouvez consulter une description détaillée dans mon article de blog à ce sujet: http://hubbitus.info/wiki/Blog:Ssh_forwarding_with_same_config_file_hack
Peu de temps dans votre situation devrait aider à la configuration comme:
la source
@darKoram. Exécutez le processus SSH avec sudo:
sudo / usr / local / bin / rsync -az -e "sudo -u user ssh" /var/data/sources/data.tar.gz vm-app01: / home / user
la source
@darKoram
Quel est le nom DNS complet de "vm-app01"? Il doit être public, car vous prétendez pouvoir y accéder dans ssh sans rsync. Mais, vous vous attendez à ce que ssh intercepte votre hôte via le modèle "21ct-dev1- *". Je ne peux vraiment pas voir comment cela pourrait fonctionner de quelque façon que ce soit. Si vous essayez de modéliser les noms d'hôtes, cela devrait ressembler à ceci:
Ensuite, l'appel de rsync devrait ressembler à ceci:
Comment "vm-app01" est-il résolu? Hosts file, wins, nis, nss? Avez-vous un alias? Êtes-vous dans un domaine? Cela ressemble certainement à un problème DNS "simple".
la source