Chiave pubblica o chiave privata [duplicato]

1

Ho letto di crittografia asimmetrica e so che il concetto è di mantenere la chiave privata per te e distribuire la chiave pubblica. Ma recentemente ho avuto accesso a un server remoto usando SSH con un file .pem. Il comando che ho usato per accedere era

ssh -i ./key/private_key.pem -l comp <ip_address> 

Ho controllato la pagina di manuale per ssh e dice

-i identity_file

 Selects a file from which the identity (private key) for
 public key authentication is read.

Mi chiedo perché mi è stato fornito un file con chiave privata, come sono stato autenticato e cosa ha il server?

    
posta 7_R3X 07.09.2016 - 20:38
fonte

2 risposte

2

Con -i si fornisce la chiave privata al server. Il daemon SSH deve essere configurato per accettare le chiavi pubbliche come metodo di autenticazione. Quando è (e nella maggior parte delle distro Linux questo è il caso di OpenSSH) allora il server legge le chiavi pubbliche da .ssh/authorized_keys . Questo file può contenere più chiavi pubbliche da diversi utenti / host. Ogni chiave pubblica occupa una singola riga nel file.

Quando il tuo client SSH si collega al daemon SSH con una chiave privata (predefinito id_rsa in .ssh/ ), la chiave privata viene inviata dopo ServerHello. La chiave pubblica può verificare la chiave privata e da quel punto viene stabilita la connessione SSH.

    
risposta data 07.09.2016 - 21:08
fonte
2

Non hai inviato al server la tua chiave privata con quel comando.

Il server ha una copia della tua chiave pubblica (solo un numero in realtà)

Usi la tua chiave privata (in realtà una coppia di numeri) per dimostrare al server di cui sei il detentore di questa chiave.

La chiave privata non viene mai inviata per questo tramite il cavo. La dimostrazione viene eseguita attraverso una magia matematica che mantiene privata la tua chiave privata e consente al server di essere sicuro di averlo.

    
risposta data 07.09.2016 - 22:56
fonte

Leggi altre domande sui tag