Где должна быть ошибка? Локальным ПК является Ubuntu.
команда:
ssh-copy-id user@example.com
результат:
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
user@example.com's password:
exec request failed on channel 0
Примечание: Это сообщение является разъяснением к исходному ответу OP, чтобы попытаться сделать это более ясным (по крайней мере, мне).
кажется, что сервер работает на SSH v2 вместо OpenSSH, который является форматом, в котором находится открытый ключ SSH.
из-за этой проблемы, сервер не может на самом деле обработать чтение и согласование открытого ключа таким способом, который имеет смысл ко всему. По существу это похоже на ввод пароля и наличие его быть введенным как английский язык, когда сервер ожидал, что это будет на греческом языке.
Так, для фиксации этого, мы должны преобразовать ключ OpenSSH к SSHv2 (иначе известный как RFC4716) ключ. OpenSSH обеспечивает команду, чтобы сделать это:
ssh-keygen -e -f /path/to/openssh/public/key > /path/you/want/the/rfc4716/key
Выполнение это, и берет вывод и загружает его на сервер, если ключи уже не были преобразованной серверной стороной.
На сервере был изменен SSH на SSH2. Это было причиной. Это было решено путем преобразования ключа.