77 votes

scp ne fonctionne pas mais ssh oui

Si je veux envoyer quelque chose via scp au serveur :

$ scp file server:
                   _____  _____  _____
$

alors trois lignes sont imprimées et le fichier n'est pas copié. Cependant, je peux me connecter au serveur via ssh sans problème :

$ ssh server

Comment faire fonctionner scp ?

1voto

anarchist912 Points 141

Cela ne répond pas directement à la question, mais pourrait être utile pour les gens comme moi, qui cherchent une solution avec un scp gelé lors du transfert de fichiers entre 2 hôtes distants.

Si scp se bloque à cause des messages de ssh, cela pourrait aider à les supprimer :

scp -o "StrictHostKeyChecking no"

et / ou

scp -B

De l'homme scp :

-B Sélectionne le mode batch (empêche de demander des mots de passe ou des phrases de passe).

-o ssh_option Peut être utilisé pour passer des options à ssh dans le format utilisé dans le fichier il n'existe pas d'indicateur de ligne de commande scp distinct. Pour plus de détails sur les options listées ci-dessous, et leurs valeurs possibles, consultez ssh_config(5).

Dans mon cas, cela a semblé aider, mais n'a pas résolu tout le problème. Nous n'avons pas pu trouver la raison pour laquelle scp se bloque lors d'un transfert de distant à distant. Il se bloque au milieu du fichier. Neuf fois, cela a fonctionné, mais pas la dixième fois. Nous avons pensé qu'il pouvait se bloquer lorsque notre connexion VPN subit un pic de trafic pendant un moment, puis scp ne se rétablit pas. Il se bloque vraiment pour toujours et ne donne même pas de message d'erreur.

Cependant, j'ai abandonné et je suis passé à sftp. Celui-ci est raisonnablement plus rapide, car il utilise une connexion directe entre les hôtes distants. Vous devez activer

Host example.com
    AgentForward yes

dans le fichier ~/.shh/config de la machine qui exécute le script. Bien sûr, ce n'est une solution que si les machines distantes se trouvent toutes deux dans votre réseau de confiance.

0voto

Michael Behrens Points 101

Lors du dépannage de ssh/scp, c'est une bonne idée d'ajouter l'option -v pour une sortie verbeuse. Vous pouvez également vouloir spécifier l'utilisateur du serveur distant. Enfin, il est parfois utile de copier le fichier dans un endroit temporaire tel que /tmp où vous savez que vous avez les droits d'écriture. Par exemple, pour envoyer un fichier hello world au serveur distant avec l'option verbose activée, la syntaxe serait la suivante :

scp -v hello_world.txt username@server-uri:/tmp

Remplacez le nom d'utilisateur par un utilisateur qui existe sur ce système et, bien sûr, remplacez le server-uri par le FQDN ou l'adresse IP du serveur.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X