Собссна, многие знают про ssh-copy-id. Не все знают, как при помощи него передавать опции ssh-клиенту (например, нестандартный порт).
Внезапно, в рассылках openbsd (когда искал, когда ж они замерджат патчик с опцией порта) нашел очень логичный способ передать произвольные опции ssh клиенту)
Например, если мы хотим сделать ssh-copy-id на ssh с 2222 портом:
user@laptop:~$ ssh-copy-id "-p 2222 user@server.tld"
Или сделать тоже самое именно по ipv4-адресу:
user@laptop:~$ ssh-copy-id "-4 -p2222 user@server.tld"
Вся суть — в кавычках, само собой. Вообще это баг ssh-copy-id, но когдаааа его ещё починят)
Обновите пакет openssh-client.
Сразу после установки системы присутствует урезанная версия ssh-copy-id. После обновления будет полноценная, с поддержкой отдельной опции для задания порта (-p), а также с дополнительным ключом -o, который позволит добавлять нужные вам опции для ssh-клиента.
inkvizitor68sl@malygos:~$ cat /etc/issue
Ubuntu 13.04 \n \l
Версия последняя, -p не поддерживается.
Так что описанный выше способ понадежнее.
Я говорил о Debian’е. Под убунтой, к сожалению, да — все так. Возьмите этот скрипт из дебиановского пакета, там все путем.
тема давняя, но.
можно в ~/.ssh/config добавить запись с настройками хоста:
Host your.domain
Port 2222
#опционально HostName и User
и далее ssh-copy-id your.domain без сложностей и длинного списка параметров.
(бонусом — последующие ssh your.domain без параметров)