Astuce pour « ssh-copy-id » sur un port ssh différent
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"
Source: Jérémy Lecour