scp -q n'est pas silencieux entre différents hôtes

14

Donc, scp -q file host:file et scp -q host:file filesont tous deux silencieux, c'est-à-dire ne donnez pas l'indicateur de progression. Mais quand je cours scp -q host1:file host2:file, je reçois toujours l'indicateur de progression ainsi qu'un Connection to host1 closed.message. Le compteur de progression peut être éliminé en redirigeant stdoutvers /dev/null(même si je préfère ne pas avoir à le faire), mais les messages de connexion fermée s'affichent stderr, ce que je veux absolument conserver en cas d'erreur réelle. Comment puis-je faire scp silencieux? Dois-je courir ssh host1 "scp -q file host2:file"?

métaphore pythonique
la source

Réponses:

15

dans host1, éditez ~ / .ssh / config et ajoutez quelque chose comme ceci

Host host2
    LogLevel=QUIET

cela désactivera les messages pour vous.

car -q contrôle uniquement la connexion client ssh depuis votre hôte local, pas depuis host1.

johnshen64
la source
8
Vous pouvez également le spécifier sur la ligne de commande, par exemple:scp -q -o LogLevel=QUIET /tmp/foo someotherhost:/tmp
Banjer
@Banjer Merci pour le -q -o LogLevel. Marche parfaitement!
Jari Turkia