Shell remota con SSH

OpenSSH è più comune implementazione del protocollo SSH (Secure SHell).

Mediante la creazione di un canale criptato, ssh, permette di accedere a sistemi remoti e amministrarli mediante shell, come se si trattasse di sistemi locali.

Per connettersi ad un sistema remoto è necessario disporre di un client ssh. Il sistema remoto, a sua volta, deve avere un servizio ssh attivo.

La connessione avviene molto semplicemente mediante il comando:
ssh server.dominio.local
dove server.dominio.local è il server a cui ci si vuole connettere.

Nel caso in cui volessimo specificare un utente diverso da quello locale è sufficiente digitare:
ssh untente@server.dominio.local

Il server richiederà l’inserimento della password dell’utente specificato e successivamente, se corretta, fornirà una shell.

I file utilizzati da OpenSSH

Client

all’interno della propria home si trova un directory che si chiama .ssh (dir nascosta, usare ls -la per visualizzarla).
Dentro questa directory si trovano alcuni file utilizzati dal servizio ssh client.

  • known_hosts
    contiene le fingerprint delle chiavi pubbliche dei server conosciuti. Serve a garantire autenticità dell’identità dichiarata dai server ai quali si chiede accesso. Se il server al quale si chiede accesso è sconosciuto, verrà richiesta conferma della sua identità e la sua fingerprint verrà salvata in questo file per future autenticazioni.

Server

all’interno di ogni home directory è presente, anceh in questo caso una dir .ssh utile alla gestione del servizio di ssh server.
Il file più interessante è:

  • autorized_keys
    contiene le fingerprint pubbliche dai client autorizzati alla connessione. A seconda della configurazione, il server le può gestire per diversi tipi di operazioni. E’ possibile impedire l’accesso a qualunque client non sia in questa lista oppure permettere a chi è presente di accedere senza la richiesta della password (debian di default)

Come evitare di inserire la password tramite l’uso delle chiavi RSA

Per accedere ad un server ssh senza che vanga richiesta la password è possibile utilizzare le chiavi RSA per garantire autenticità del client. Il client dovrà generare le proprie chiavi RSA statiche mediante il comando:
ssh-keygen
Successivamente si deve trasportare la chiave pubblica /home/utente/.ssh/id_rsa.pub sul server attraversu un canale sicuro.
L’ultima operazione consiste nell’aggiungere la chiave RSA alle chiavi accettate dal server:
cat id_rsa.pub >> /home/utente/.ssh/authorized_keys
Chiaramente quest’ultima operazione dev’essere compiuta sul server.

No comments yet

Lascia un commento