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”

25 septembre 2009 à 10:58 |
Merci à toi, c’est bien pratique
19 octobre 2009 à 06:53 |
Merci pour le tuyau, je cherchais justement comment faire prendre en compte un port différent à ssh-copy-id
!