Dies hab ich gerade gebraucht und möchte es hier mal festhalten: (Quelle)

ssh-copy-id kann leider keine Parameter an ssh weitergeben, wie z.B: ein -p 1234. Daher empfiehlt sich folgendes:

In der Datei
~/.ssh/config erstellt man für jede SSH-Verbindung folgende Einträge:

Host myhost
HostName myhost.hostname.de
Port 1234

Daraufhin kann man ssh-copy-id mit ssh-copy-id -i key.pub user@myhost aufrufen.

Natürlich geht das auch bei anderen ssh aufrufen und man spart sich etwas Tipparbeit! 🙂

Mehr Informationen in der Anleitung zu ssh_config

Update: praktisch ist dadurch übrigens auch, wenn man in der .ssh/config auch
IdentityFile ~/.ssh/key einträgt, dass man nur noch:
ssh myhost eingeben muss um folgendes zu erreichen:
ssh -i .ssh/key -p 2231 komplizierterbenutzername@mein.server.hostname.de
Natülrich muss in der .ssh/config auch noch User komplizierterbenutzername stehen