Comment le serveur Linux permet-il à quiconque de copier la chaîne (clé publique) à l'aide de ssh-copy-id sans authentification? Est-ce que cela ne permet pas à l'utilisateur inconnu de copier un fichier malveillant sur le serveur?
ssh-copy-id
automatise simplement les commandes
scp .ssh/id_rsa.pub user@other-Host:
ssh user@other-Host 'cat id_rsa.pub >> .ssh/authorized_keys'
ssh user@other-Host 'rm id_rsa.pub'
Autrement dit: il copie votre fichier id_rsa.pub
local sur l'autre serveur et l'ajoute au fichier authorized_keys
de l'utilisateur distant.
C'est juste un script de commodité et il requiert l'authentification. Vous devez fournir le mot de passe de user
(à other-Host
) pour que cela fonctionne. ssh-copy-id
ne fait rien d'autre que scp
et ssh
en votre nom donc s'ils exigent une authentification par mot de passe, ssh-copy-id
le fera également. .
S'ils ne connaissent pas le mot de passe, ils ne peuvent pas copier l'ID sur le serveur, donc ne désactivez pas PasswordAuthentication.
Match User user1,user2,user3
PasswordAuthentication yes
Edit:
Si vous autorisez la connexion sans autorisation, ils n'ont même pas besoin de copier l'identifiant de leur clé, car ils peuvent quand même se connecter sans la clé, s'ils connaissent le nom d'utilisateur.