J'ai besoin de transférer un fichier entre deux ordinateurs qui ne sont pas connectés au même réseau. J'ai un troisième ordinateur qui peut voir les deux réseaux via un VPN.
Depuis le troisième ordinateur, je peux faire:
scp root@firstcomputer:./file ./
Et terminez le transfert avec la phrase suivante:
scp ./file root@secondcomputer:./
Mais je ne peux pas le faire en une seule ligne, comme suit:
scp root@firstcomputer:./file root@secondcomputer:./
La réponse d'erreur est
ssh: connect to host secondcomputer port 22: No route to host
lost connection
Je me rends compte que c'est probablement parce que le premier ordinateur ne peut pas voir le deuxième ordinateur. Est-il possible de donner à SCP un paramètre qui traite du fait que la machine qui exécute le programme SCP est la seule qui peut voir les deux ordinateurs?
Soit dit en passant, le troisième ordinateur est un Mac avec Lion et le premier et le deuxième exécutent Debian.
la source
Vous pouvez essayer ceci:
Cela copiera le fichier dans le répertoire / tmp sur le troisième ordinateur et s'il réussit, il recopiera ce fichier sur l'ordinateur secondaire puis se nettoiera. Puisque vous utilisez l'opérateur &&, chaque commande ne s'exécutera que si la commande précédente a réussi.
la source