Per usare ssh-id-copy hai bisogno sia di id_rsa.pub che di id_rsa?


19

Sto cercando di impostare un secondo tasto ssh di accesso per un amico. Mi ha inviato il suo 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

Ho bisogno che mi mandi entrambi i file?


1
Il .pub è sufficiente. E tieni presente che mantieni sempre la tua chiave privata segreta (in ogni momento!). Per aggiungere una nuova chiave, puoi semplicemente aggiungere il contenuto di .pub ai tuoi Tasti autorizzati.
sordo il

2
@deaghNon è necessario mantenere segreta una chiave privata, è necessario proteggerla.

Lo script ssh-copy-id qui non sembra emettere quel particolare messaggio di errore. Ho notato che il tuo script ssh-copy-id è in / usr / local / bin. Potrebbe essere diverso dalla versione comunemente usata del comando.
Kenster,

Risposte:


12

Il ssh-copy-idcomando di OpenSSH ha esito negativo se non è disponibile un file di chiave privata con lo stesso nome, poiché tenta di accedere con la chiave specificata per verificare se è già presente sul server remoto.

Nelle versioni recenti è possibile ignorare questo comportamento con l' -fopzione ("Modalità forzata").

Dalla pagina man :

-f

    Modalità forzata: non controlla se le chiavi sono presenti sul server remoto. Ciò significa che non ha bisogno della chiave privata. Naturalmente, ciò può comportare l'installazione di più copie della chiave sul sistema remoto.


1
attenzione, l'ordinamento dei parametri è rigoroso. -fsolo funziona come previsto se si passa prima che l' -iargomento. ssh-copy-id -i mykey.pub -f otheruser@hostsi lamenta, fino a quando non ti muovi -f davanti.
init_js il

5

Il .pubè sufficiente. Non sei nella cartella corretta.

Puoi provare questo:

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

(per l'utente root: non consigliato, è solo un esempio).

Questo file si trova nella .sshcartella nella cartella dell'utente.


4
Su Mac ha bisogno del -fse non hai anche la chiave privata, penso
Stevie G


1

Come accennato qui, questo è un bug.

Ad ogni modo puoi semplicemente creare un file vuoto per farlo funzionare. Nel tuo caso:

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

Ho avuto lo stesso problema e questo ha funzionato per me 👍


-1

funziona per me la domanda è quando si chiede "Inserisci il file in cui salvare la chiave (/Users/xiaoyu/.ssh/id_rsa):" dovresti digitare id_rsa

e usa il comando "ssh-copy-id -i ~ / .ssh / id_rsa.pub polytech@192.168.0.102"

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.