¿Es posible ejecutar ssh-copy-id en un puerto que no sea 22?

Tengo un server con SSH ejecutándose en un puerto no estándar. En lugar de 22, se ejecuta en 8129. Para iniciar session, uso:

ssh -p 8129 hostname 

Ahora, cada vez que necesito configurar una key para iniciar session sin contraseña, tengo que copyr la key pública y agregarla a authorized_keys manualmente. Descubrí que el command ssh-copy-id podía usar para simplificar este process, pero parece que no tiene una opción para especificar el puerto del server ssh.

¿Hay alguna forma de decirle a ssh-copy-id que use el puerto 8129, o debería olvidarme de este command y copyr / pegar manualmente como antes?

ssh-copy-id no toma ningún argumento que pueda pasar al command ssh subyacente, pero puede configurar un alias en ~/.ssh/config .

 Host myhost HostName hostname Port 8129 

Luego ejecuta ssh-copy-id myhost .

A partir de openssh-client_6.2 ahora hay un indicador de puerto dedicado para el command que permite esta syntax:

 ssh-copy-id -p 8129 user@example 

También agregó soporte para agregar otras opciones de ssh con el indicador -o.

Aquí está la página man de Ubuntu para la versión apropiada, presentada en 13.04: http://manpages.ubuntu.com/manpages/saucy/man1/ssh-copy-id.1.html

Un vistazo rápido a la fuente indica que ssh-copy-id parece no tener ninguna function que lo permita. Sin embargo, puedes hacer algo como lo siguiente en su lugar:

 ssh -p8129 user@host 'cat >> ~/.ssh/authorized_keys' < ~/.ssh/id_*.pub 

Esto funciona (desde aquí ):

 ssh-copy-id -i ~/.ssh/id_rsa.pub '-p 221 username@host' 

Siempre he usado scp para copyrlo:

 scp -P 8129 ~/.ssh/id_*.pub user@host: ssh -p 8129 user@host 'cat id_*.pub >> ~/.ssh/authorized_keys' 

Aunque debo decir, probablemente usaré los otros methods (una línea / connection) si los recuerdo en el futuro. Pero esta es otra opción para ti.

Con mi macOS, esto funcionó.

 ssh-copy-id -i ~/.ssh/id_rsa.pub -p <port> user@host 

No sé cómo funciona esto, pero está funcionando bien:

 ssh-copy-id "user@host -p PORT" 

Lo encontré en este blog .