Sur mon système Fedora 20, j'utilise beaucoup scp, et c'est la deuxième fois que je rencontre cela, lorsque j'exécute cette commande:
scp -r -P PORT user@host:/home/user/something/{file1,folder1,folder2,folder3,folder4} folder/folder2/
il me demande le mot de passe pour chaque fichier / répertoire qu'il transfère.
user@host's password: "password here"
Question:
Que se passe-t-il ici?
Est-ce normal, je pense que c'est un comportement très particulier?
la source
id.rsa
aura des600
autorisations par défaut etssh
ne fonctionnera même pas s'il ne le fait pas. Cela signifie qu'il est à l'abri de tout le monde maisroot
que rien n'est vraiment à l'abriroot
, certainement pas les mots de passe.ssh-keygen
et 2) ssh / scp se plaindra et demandera un mot de passe si le fichier est lisible par quelqu'un d'autre. Au moins sous Linux de toute façon.scp
n'est pas très intelligent: lorsqu'il reçoit plusieurs arguments de ligne de commande qui sont des fichiers du même hôte distant, il ouvre une nouvelle connexion pour chaque argument.Vous pouvez utiliser à la
rsync
place descp
, c'est plus intelligent de cette façon (et d'autres manières).Une autre approche consiste à passer un seul argument à
scp
celui qui décrit plusieurs fichiers .Une approche différente consiste à configurer votre système afin que vous n'ayez pas à vous authentifier tout le temps. De préférence, configurez l'authentification par clé , qui est dans la plupart des scénarios à la fois plus pratique et plus sécurisée. Vous pouvez également, ou en plus, configurer le partage de connexion , de sorte que vous ne devez vous authentifier qu'une seule fois par session. Dans tous les cas, configurez un alias pour ne pas avoir à spécifier le nom d'utilisateur et le port à chaque fois. Dans votre
~/.ssh/config
:Exécutez
ssh -Nf nick
pour ouvrir une connexion, puis toutes les connexions suivantesnick
seront superposées à la connexion existante. Maintenant, vous pouvez simplement exécuterla source