Rimuovere inavvertitamente .ssh / authorized_keys, è un errore grave?


13

Sono nuovo per configurare le chiavi SSH su Ubuntu 16.04. Stavo cercando una chiave autorizzata per rimuovere il nome annema penso di aver eliminato l'intero authorized_keysfile.

mike@mike-thinks:~$ rm /home/mike/.ssh/
authorized_keys  id_rsa           id_rsa.pub       known_hosts
mike@mike-thinks:~$ rm /home/mike/.ssh/authorized_keys 

È un grave errore? Se sì, come rigenerarli? Nel frattempo l'ho fatto:

mike@mike-thinks:~/.ssh$ touch ~/.ssh/authorized_keys
mike@mike-thinks:~/.ssh$ ls
authorized_keys  id_rsa  id_rsa.pub  known_hosts
mike@mike-thinks:~/.ssh$ chmod 600 ~/.ssh/authorized_keys

Come ha fatto il primo rmcomando a elencare il contenuto della directory? È un errore di copia che dovrebbe essere ls /home/mike/.ssh/?
Barmar,

3
@Barmar, ecco come appare in Bash quando premi tab per completare automaticamente il percorso, e ci sono più scelte.
ilkkachu,

2
Ora è il momento migliore per pensare al backup e al ripristino .
Ripristina Monica - M. Schröder,

Risposte:


21

Il ~/.ssh/authorized_keysfile contiene un elenco di chiavi pubbliche. Consente a tutti coloro che possiedono una chiave privata corrispondente a uno di quelli di connettersi a questa macchina e ottenere l'accesso remoto con questo account utente (la tilde ~nella parte anteriore del percorso indica che questo file si trova nella directory principale dell'utente corrente).

Sul server (la macchina si desidera connettersi a ):

Se hai eliminato questo file, nessuno sarà in grado di autenticarsi con questo account utente usando le proprie chiavi private. L'autenticazione con password funzionerebbe comunque, a meno che non fosse disabilitata.

Dovresti rigenerare il file e aggiungere tutte le chiavi pubbliche a cui vuoi concedere l'accesso usando di nuovo il metodo di autenticazione con chiave pubblica.

Sul client (la macchina che si desidera collegare da , vale a dire la vostra macchina locale):

Qui non è necessario un authorized_keysfile, perché probabilmente non si desidera autorizzare alcuna chiave e concedere loro l'accesso remoto al computer locale. Dovrebbe essere vuoto o cancellato.

Sul client, sono necessari solo i file della chiave privata autorizzati sul server (ovvero che hanno le rispettive chiavi pubbliche nel authorized_keysfile sul server) e facoltativamente un file confige un known_hostsfile appropriati .


Grazie ! Sono davvero nuovo alle chiavi pubbliche, a quelle private e all'accesso remoto. Questa è la mia macchina personale. Penso che nessuno avesse un accesso remoto alla mia macchina, penso di no.
IggyPass,

Se non vuoi che nessuno abbia accesso al computer, rimuovi semplicemente il file o lascialo vuoto e sei a posto.
pLumo,

2
Okay, allora penso che tu abbia letto male. Non è necessario il authorized_keysfile sul computer locale, ma sul server.
pLumo,

3
ssh-keygencrea id_rsae id_rsa.pub, no authorized_keys. E questo sicuramente.
pLumo,

1
Nota che è abbastanza comune voler ssh da un altro computer al tuo computer desktop e usare le chiavi per autenticarti in quel caso è più sicuro.
Karl Bielefeldt,

3

Sì, hai rimosso l'intero file. Per ricrearlo, tutti gli utenti devono copiare le loro chiavi ssh sul server agein. Puoi usare

ssh-copy-id user@hostname.example.com

Se non vuoi rimuovere tutte le chiavi, modifica il file e rimuovi solo le righe la prossima volta.


Grazie, questa è la mia macchina personale. Non sono ancora sicuro che sia servito come server
IggyPass il

2
Sul tuo client hai bisogno del file chiave privato e known_hosts e sul server authorized_keys con pubkeys
trietend
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.