2017-07-09 1 views
-1

Je dois transférer des fichiers de la machine 'A' vers la machine 'B' et j'exécute la commande depuis la machine depuis 'C'.Problème de transfert de fichier Bash en utilisant SCP

Run Command : 

$sshpass -p 'password_for_a' ssh -A -t [email protected] rsync -avz /home/test/* [email protected]:/home/test/ 

Cela demande la « Password » pour la machine « B » que je ne veux pas taper manuellement. Je ne peux pas installer "sshpass" sur la machine "A" car je n'ai pas l'autorisation d'installer lib/packages.

Est-il possible d'inclure le mot de passe en utilisant rsync/scp pour la commande ci-dessus?

J'ai essayé de passer le mot de passe en utilisant 'scp' 'PreferredAuthentications' aussi.

$sshpass -p 'password_for_a' ssh -A -t [email protected] scp -o PreferredAuthentications="password_for_b" /home/test/* [email protected]:/home/test/ 

Je reçois,

Permission denied (publickey,password). 
lost connection 

Si je me trompe partout, S'il vous plaît me corriger?

+2

Le serveur prend en charge l'authentification par clé publique. Votre meilleur pari est de mettre cela en place et de ne pas passer les mots de passe. – l0b0

+0

Puisque je ne veux pas gâcher pendant l'authentification de la clé publique sur les fichiers de configuration, je voulais la rendre lisse en utilisant la méthode ci-dessus. Besoin de regarder s'il n'y a pas d'option alors! Merci quand même – Arun

+0

Il existe une option de fichier de mot de passe avec rsync mais seulement lorsqu'un démon rsync est en cours d'exécution sur le serveur distant. –

Répondre

1

Il n'y a rien comme PreferredAuthentications="password_for_b". La méthode d'authentification est appelée password. Si vous spécifiez quelque chose d'invalide, il échoue évidemment. Configurez l'authentification par clé publique.

1

Merci à tous, J'ai généré des fichiers clés ssh-keygen et copiés sur des machines respectives (* .pub). Maintenant, je peux faire un mot de passe moins d'authentifications. Je dois clarifier les discussions après.