GNU/Linux >> Linux Esercitazione >  >> Linux

Consenti l'accesso root ssh solo con l'autenticazione con chiave pubblica

Nozioni di base

Il server SSH ha diversi modi per autenticare un client che si connette ad esso. Il metodo più popolare è l'autenticazione basata su password in quanto è il più semplice, tuttavia non è così sicuro. Le password vengono scambiate con meccanismi sicuri, tuttavia, a causa della facilità d'uso, generalmente non sono complesse o lunghe. Ciò consente all'attaccante di violare la password utilizzando attacchi di forza bruta o dizionario. In tali scenari, le chiavi SSH possono fornire un mezzo di autenticazione sicuro e affidabile per i client.

Il server SSH utilizza uno schema di crittografia a chiave pubblica per autenticare gli utenti. In questo schema vengono generate una coppia di chiavi, una chiave pubblica e una chiave privata, per l'autenticazione. Come suggerisce il nome, una chiave privata viene tenuta segreta dal client poiché la sua compromissione può portare qualcuno ad accedere al server senza alcuna autenticazione aggiuntiva.

La chiave pubblica corrispondente per la chiave privata segreta del client non viene mantenuta come segreta e viene copiata nei sistemi a cui l'utente accede. La chiave privata viene utilizzata per decrittografare il messaggio crittografato utilizzando la chiave pubblica associata del client. Utilizzando la coppia di chiavi, possiamo anche abilitare l'autenticazione senza password. La chiave pubblica attendibile del client è archiviata in un file speciale denominato authorized_keys nella home directory dell'account utente.

Quando un client tenta di autenticare il server SSH utilizzando le chiavi, viene emessa una richiesta utilizzando la chiave pubblica del client archiviata nel server. Dopo aver decrittografato con successo la sfida utilizzando la chiave privata del client, l'utente ottiene l'accesso alla shell del server.

Configura l'autenticazione della sola chiave pubblica per ssh

1. Come root, modifica il file di configurazione del demone sshd (/etc/ssh/sshd_config ).

2. Modificare i parametri PermitRootLogin e PubkeyAuthentication in modo che abbiano i seguenti valori:

PermitRootLogin without-password
PubkeyAuthentication yes

Consenti solo l'accesso ssh basato su chiave nell'account root impostando il valore PermitRootLogin della direttiva su senza password come mostrato sopra.

3. Verifica che la sintassi del file di configurazione sshd_config sia corretta prima di riavviare sshd deamon.

# sshd -t

Il comando precedente non dovrebbe restituire nulla. Ciò significa che il file di configurazione è sintatticamente corretto e sei sicuro di riavviare il demone sshd senza alcun problema.

4. Riavvia il demone sshd:

# service sshd restart

o

# systemctl restart sshd


Linux
  1. Come connettersi al server ssh con plink e cmd e chiave pubblica

  2. Ssh - Riceve ancora una richiesta di password con Ssh con l'autenticazione con chiave pubblica?

  3. Come configurare ssh senza password con chiavi RSA

  4. Genera una coppia SSH con AES-256-CBC

  5. l'autenticazione con chiave pubblica fallisce SOLO quando sshd è un demone

Consenti l'accesso root SSH su Ubuntu 20.04 Focal Fossa Linux

Consenti l'accesso root SSH su Ubuntu 22.04 Jammy Jellyfish Linux

Come aggiungere la chiave pubblica SSH al server

Accesso SSH senza password in 3 semplici passaggi

Accedi a un server Linux con una chiave privata SSH su un client Windows

Aggiungi la chiave pubblica al file known_hosts