Для использования ssh-id-copy вам нужны и id_rsa.pub, и id_rsa?


19

Я пытаюсь настроить второй ключ доступа SSH для друга. Он прислал мне свой id_rsa.pub.

ssh-copy-id -i id_rsa.pub root@123.123.123.123
/usr/local/bin/ssh-copy-id: ERROR: failed to open ID file './id_rsa': No such file or directory

Нужно ли мне, чтобы он отправил мне оба файла?


1
.Pub достаточно. И помните, что вы всегда держите свой секретный ключ в секрете (всегда!). Чтобы добавить новый ключ, вы можете просто добавить содержимое .pub к вашему авторизованному ключу.
deagh

2
@deagh Вам не нужно хранить секретный ключ в секрете, вы должны хранить его в безопасности.

Сценарий ssh-copy-id здесь , похоже, не генерирует это конкретное сообщение об ошибке. Я заметил, что ваш скрипт ssh-copy-id находится в / usr / local / bin. Это может отличаться от обычно используемой версии команды.
Кенстер

Ответы:


12

Команда ssh-copy-idиз OpenSSH завершается неудачно, если нет доступного файла с закрытым ключом с таким же именем, потому что он пытается войти в систему с указанным ключом, чтобы проверить, присутствует ли он уже на удаленном сервере.

В последних версиях вы можете изменить это поведение с помощью -fпереключателя («Принудительный режим»).

Со страницы руководства :

-f

    Принудительный режим: не проверяет наличие ключей на удаленном сервере. Это означает, что ему не нужен закрытый ключ. Конечно, это может привести к установке более одной копии ключа в удаленной системе.


1
заголовки, порядок параметров строгий. -fработает только как ожидается , если вы передаете его , прежде чем в -iаргументе. ssh-copy-id -i mykey.pub -f otheruser@hostпросто жалуется, пока вы не двигаетесь вперед.
init_js

5

.pubДостаточно. Вы не в правильной папке.

Вы можете попробовать это:

ssh-copy-id -i /root/.ssh/id_rsa.pub root@123.123.123.123

(для пользователя root: не рекомендуется, это всего лишь пример).

Этот файл находится в .sshпапке в папке пользователя.


4
На Mac это нужно, -fесли у вас нет личного ключа, я думаю
Stevie G


1

Как уже упоминалось, это ошибка.

В любом случае вы можете просто создать пустой файл, чтобы он работал. В твоем случае:

$ touch ./id_rsa
$ ssh-copy-id -i id_rsa.pub root@123.123.123.123

У меня была та же проблема, и это сработало для меня 👍


-1

это работает для меня, вопрос, когда он спрашивает «Введите файл, в котором сохранить ключ (/Users/xiaoyu/.ssh/id_rsa):« вы должны ввести id_rsa

и используйте команду "ssh-copy-id -i ~ / .ssh / id_rsa.pub polytech@192.168.0.102"

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.