Щоб використовувати ssh-id-copy, вам потрібні і id_rsa.pub, і id_rsa?


18

Я намагаюся налаштувати другий ключ 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 до дозволених ключів.
глухий

2
@deaghНе потрібно зберігати секретний ключ в секреті, потрібно зберігати його в безпеці.
Iain

Скрипт ssh-copy-id тут не видає конкретного повідомлення про помилку. Я помічаю, що ваш скрипт ssh-copy-id знаходиться в / usr / local / bin. Він може відрізнятися від поширеної версії команди.
Кенстер

Відповіді:


11

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

В останніх версіях ви можете змінити таку поведінку за допомогою -fперемикача ("Примусовий режим").

Від людини сторінці :

-f

    Примусовий режим: не перевіряє наявність клавіш на віддаленому сервері. Це означає, що приватний ключ йому не потрібен. Звичайно, це може призвести до того, що на віддаленій системі буде встановлено більше однієї копії ключа.


голови вгору, впорядкування параметрів суворе. -fпрацює тільки як очікується , якщо ви передаєте його , перш ніж в -iаргументі. ssh-copy-id -i mykey.pub -f otheruser@hostпросто скаржиться, поки не рухатимешся -f спереду.
init_js

5

.pubДосить. Ви не в правильній папці.

Ви можете спробувати це:

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

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

Цей файл знаходиться під .sshпапкою в папці користувача.


3
На 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.