Bon, a priori vous connaissez la commande “ssh-copy-id” pour copier sa clé publique sur un serveur distant afin de s’identifier par clé et plus par mot de passe.
Le principe est d’avoir une paire de clés privée/publique, le plus souvent dans “~/.ssh/id_rsa(.pub)” et de la copier à l’intérieur du fichier “~/.ssh/authorized_keys” sur la machine distante.
$ ssh-copy-id -i ~/.ssh/id_rsa.pub user@host
Mais si la machine distante n’accepte pas les connexions sur le port 22 ou bien qu’il y a une redirection de ports sur le routeur, il faut lui indiquer ce port, par exemple :
$ ssh-copy-id -i ~/.ssh/id_rsa.pub -p 2222 user@host
Mais ça ne marche pas car ssh-copy-id ne comprend que 2 paramètres et si on met “-p 2222″ en second, ça n’est pas un motif de type “[user@]host”, et si on le met après, en troisième, il est ignoré.
Et bien il suffit d’entourer les infos de connexion ssh par des guillemets pour qu’ils soient vus comme un seul paramètre :
$ ssh-copy-id -i ~/.ssh/id_rsa.pub “-p 2222 user@host”


Merci à toi, c’est bien pratique
Merci pour le tuyau, je cherchais justement comment faire prendre en compte un port différent à ssh-copy-id ;) !
Merci beaucoup, j’étais un peu en galère \o/
Bien vu, merci !
Merci beaucoup, j’étais également dans la mouise.
Super astuce, merci :)
Merci beaucoup pour avoir laissé ceci. C’est une information très utile mais pas si facile à devenir !
Merci :)
Bonjour,
Merci beaucoup pour cette astuce tout simple.
ça m’a sauvé la vie ;)
[...] Source: Jérémy Lecour [...]