Impostazione corretta .autorizzazioni SSH/configurazione

Impostazione corretta .autorizzazioni SSH/configurazione
Il protocollo SSH è un protocollo sicuro che viene solitamente utilizzato per connettersi a dispositivi remoti come server e dispositivi di rete, inclusi router e switch. Funziona in una configurazione client-server e, per impostazione predefinita, ascolta la porta 22 (anche se questo può essere modificato quando necessario). SSH impiega diverse tecniche di crittografia e di hash per garantire che la comunicazione tra il cliente e l'host remoto sia crittografata e sicura da intercettare.

I file ssh sono archiviati in .ssh cartella. Questa è una cartella nascosta che risiede nella home directory. IL .ssh La directory non è creata per impostazione predefinita; viene creato quando si avvia una connessione con un host remoto o si utilizza il ssh-keygen comanda per generare le chiavi di autenticazione privata e pubblica come quando si desidera impostare l'autenticazione SSH senza password.

IL .ssh cartella. contiene file ssh essenziali come:

  1. Chiavi pubbliche e private ( id_rsA e Id_Rsa.pub ).
  2. IL noto_hosts File: contiene chiavi pubbliche di tutti i sistemi remoti a cui hai connesso.
  3. IL configurazione file di configurazione client

Se la configurazione Il file non esiste, puoi crearne uno facilmente come mostrato.

$ touch ~/.ssh/config

IL .File di configurazione del client SSH/config

Ogni volta che si avvia una connessione SSH, è necessario specificare dettagli come l'indirizzo IP o il nome di dominio e la porta SSH sta ascoltando. Per esempio,

$ ssh [email protected] -P 22

Può essere frenetico dover sempre ricordare tali dettagli. Ed è qui che ~/.ssh/config Il file entra. IL ~/.ssh/config Il file è un file di configurazione che consente di configurare i dettagli di configurazione per utente dell'host remoto. Ti consente di risparmiare l'agonia di dover sempre ricordare i dettagli per host richiesti per la connessione.

Un file di configurazione di esempio appare come mostrato.

Server di gestione temporanea host
Hostname 192.168.2.103
Utente James
Porta 22

Un semplice comando ssh nell'host remoto sembrerebbe come segue:

$ SSH Staging-Server

IL .autorizzazioni file ssh/config

Per impostazione predefinita, il ~/.ssh/config Il file di configurazione del client possiede il 644 autorizzazioni di file. Puoi verificare che usando il ls -la comando come segue.

$ ls -la ~/.ssh/config

Ciò implica che il proprietario e il gruppo del file hanno entrambi le autorizzazioni di lettura e scrittura (RW) mentre altri utenti hanno solo autorizzazioni di lettura (R).

-RW-RW-R--

NOTA:

Come regola generale, non assegnare mai le autorizzazioni di scrittura ad altri utenti. Ciò rappresenta un rischio per la sicurezza per il tuo file e altri utenti che non sono te stesso o nel tuo gruppo possono modificare il contenuto del file. L'assegnazione delle autorizzazioni di scrittura comporterà il 'Cattivo proprietario o autorizzazioni'Errore come indicato di seguito.

Qui, al file di configurazione è stata assegnata le autorizzazioni 666. Ciò implica che tutti possono sia leggere e scrivere il file.

Allo stesso modo, lo stesso caso si applica qui in cui il file è stato assegnato 777 autorizzazioni. Ciò implica che tutti possono leggere, scrivere ed eseguire il file. In poche parole, chiunque ha tutti i diritti per il file potenzialmente pericoloso.

Best practice consiglia di lasciare le autorizzazioni predefinite a 664 O 600, Dove solo il proprietario ha letti e scritti per le autorizzazioni (RW). In questo modo, il file rimane sicuro dall'essere modificato da utenti non autorizzati.

Inoltre, assicurati di possedere il file. Se il file viene modificato in un altro utente, SSH non sarà in grado di risolvere il nome host fornito nel file di configurazione.

Nell'esempio seguente, il ~/.ssh/config La proprietà è stata impostata Bob: Bob.

Per risolvere questo problema, sono tornato alla proprietà del file originale utilizzando il Chown comando.

$ sudo chown James: James ~/.ssh/config

Con le autorizzazioni del file ripristinato, ora posso avere accesso invocando il comando ssh seguito dal nome host specificato nel file di configurazione.

$ SSH Staging-Server

E questo è tutto ciò che devi sapere sull'impostazione delle autorizzazioni su ~/.ssh/config file. Assicurati di non impostare le autorizzazioni di lettura sul resto degli utenti e assicurati di possedere il file.