Ricerca…


introduzione

Una shell sicura viene utilizzata per accedere da remoto a un server da un client tramite una connessione crittografata. OpenSSH viene utilizzato come alternativa alle connessioni Telnet che ottengono l'accesso alla shell remota ma non sono criptate. OpenSSH Client è installato sulla maggior parte delle distribuzioni GNU / Linux per impostazione predefinita e viene utilizzato per connettersi a un server. Questi esempi mostrano come utilizzare la suite SSH per accettare le connessioni SSH e connettersi a un altro host.

Connessione a un server remoto

Per connettersi a un server, dobbiamo utilizzare SSH sul client come segue,

# ssh -p port user@server-address
  • porta - La porta ssh di ascolto del server (porta predefinita 22).
  • utente : deve essere un utente esistente sul server con privilegi SSH.
  • indirizzo del server - IP / Dominio del server.

Per un esempio reale, facciamo finta di creare un sito web. La società che hai scelto per ospitare il tuo sito ti dice che il server si trova su web-servers.com su una porta personalizzata del 2020 e il tuo nome account usr1 è stato scelto per creare un utente sul server con privilegi SSH. In questo caso il comando SSH usato sarebbe come tale

# ssh -p 2020 [email protected]

Se il nome account sul sistema remoto è uguale a quello del client locale, è possibile che il nome utente non venga visualizzato. Quindi se tu sei usr1 su entrambi i sistemi, allora tu semplicemente usi web-servers.com invece di [email protected] .

Quando un server a cui si desidera connettersi non è direttamente accessibile, è possibile provare a utilizzare lo switch ProxyJump per connettersi ad esso tramite un altro server accessibile all'utente e in grado di connettersi al server desiderato.

# ssh -J [email protected]:2020 [email protected] -p 2222

Questo ti permetterà di collegarti al server 10.0.0.2 (eseguendo ssh sulla porta 2222) attraverso il server su 10.0.0.1 (eseguendo ssh sulla porta 2020). Avrai bisogno di avere account su entrambi i server, ovviamente. Si noti inoltre che l'opzione -J è stata introdotta in OpenSSH versione 7.3.

Installazione della suite OpenSSH

Entrambe le connessioni a un server SSH rimovibile e l'accettazione delle connessioni SSH richiedono l'installazione di openssh

Debian:

# apt-get install openssh

Arch Linux:

# pacman -S openssh

yum:

# yum install openssh

Genera chiave pubblica e privata

Per generare chiavi per il client SSH:

ssh-keygen [-t rsa | rsa1 | dsa ] [-C <comment>] [-b bits]

Per esempio:

ssh-keygen -t rsa -b 4096 - C [email protected]

La posizione predefinita è ~/.ssh/id_rsa per private e ~/.ssh/id_rsa.pub per la chiave pubblica.

Per maggiori informazioni, visita man.openbsd.org

Configurazione di un server SSH per accettare connessioni

Per prima cosa dobbiamo modificare il file di configurazione del daemon SSH. Anche se in diverse distribuzioni Linux questo può trovarsi in diverse directory, di solito è memorizzato in /etc/ssh/sshd_config

Usa il tuo editor di testo per modificare i valori impostati in questo file, tutte le righe che iniziano con # sono commentate e devono essere rimosse per fare effetto. Un elenco di raccomandazioni segue come tale.

Port (chose a number between 0 - 65535, normaly greater than four digits)
PasswordAuthentication yes
AllowUsers    user1 user2 ...etc

Si noti che è preferibile disabilitare tutti gli accessi alle password e utilizzare le chiavi SSH per una maggiore sicurezza, come spiegato in questo documento.

Disabilita il servizio ssh

Questo disabiliterà il servizio lato server SSH, come se ciò fosse necessario per assicurare che i client non possano connettersi tramite ssh

Ubuntu

sudo service ssh stop

Debian

sudo /etc/init.d/ssh stop

Arch Linux

sudo killall sshd

Connessione senza password (utilizzando una coppia di chiavi)

Prima di tutto dovrai avere una coppia di chiavi. Se non ne hai ancora uno, dai un'occhiata all'argomento "Genera argomento chiave pubblico e privato".

La tua coppia di chiavi è composta da una chiave privata (id_rsa) e una chiave pubblica (id_rsa.pub). Tutto quello che devi fare è copiare la chiave pubblica sull'host remoto e aggiungerne il contenuto al file ~/.ssh/authorized_keys .

Un modo semplice per farlo è:

ssh <user>@<ssh-server> 'cat >> ~/.ssh/authorized_keys' < id_rsa.pub

Una volta che la chiave pubblica è posizionata correttamente nella home directory dell'utente, è sufficiente effettuare il login utilizzando la rispettiva chiave privata:

ssh <user>@<ssh-server> -i id_rsa



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow