Guida Come collegarsi via SSH al proprio server

iltizio

Utente Emerald
1 Novembre 2009
920
60
520
594
2-Free-Online-SSH-Client-To-Access-Remote-Servers-From-Your-Browser.jpg

Una raccolta di guide basilari per la connessione SSH​

1    Introduzione





Uno dei sistemi più comuni di accesso ai sistemi server Unix e Linux è certamente SSH. Questa sigla sta per Secure Shell e ci permette di accedere in remoto ad una shell del vostro server, ad esempio FreeBSD.

Questo programma fondamentale è spesso già installato nelle versioni server di tutti i sistemi operativi Linux e Unix-Like, come FreeBSD. E' essenzialmente composto da una parte server e una client.
La parte server esporrà come servizio di rete una porta TCP in ascolto, di default 22, con un sistema di cifratura della connessione tramite SSL, un po' come con l'HTTPS.
La parte client servirà per comunicare correttamente con la parte server e consentirà all'utente svariate funzionalità, tenendo la stessa componente server.

Infatti, SSH è nato come un metodo per ottenere controllo di una shell di un sistema remoto, mantenendo un certo livello di sicurezza. Tuttavia è possibile fare molto di più con la stessa connessione SSH, utile per ogni utente che vorrà utilizzare un server, che sia una macchina virtuale locale o una VPS del vostro cloud provider.

In questa guida cerco di riassumere alcune di queste funzionalità basilari che tutti quelli che vogliono aprire un server privato di metin2 su FreeBSD o Linux devono conoscere.

2    Client SSH





Come anticipato esiste una componente server e una client. La componente server è spesso già configurata con le configurazioni di default dal sistema operativo o dal cloud provider.
Concentriamoci quindi sulla componente client.
Esistono tantissimi client SSH diversi per vari sistemi operativi.
Se utilizzate Windows, il più comune sarà Putty. Tuttavia preferisco consigliarvi qualcosa di più avanzato e completo: MobaXterm

Questo software è disponibile con licenza gratuita e con licenza a pagamento. Per l'utilizzo di un server privato di metin2, la licenza gratuita dovrebbe essere sufficiente.
La guida quindi si baserà su questo prodotto.

3    Connessione tramite password





Esistono diversi modi per accedere via SSH. Uno dei più comuni e semplice è quello tramite password. E' quindi possibile dal client SSH di eseguire il login tramite utente e password creati in precedenza sul server. Spesso queste credenziali vi verranno fornite al momento dell'installazione del server da parte del provider (email, web UI).

I prerequisiti quindi sono:
  • IP o FQDN del server
  • Nome utente
  • Password
Una volta recuperate queste informazioni aprite MobaXterm e create una nuova sessione:
1.png

Selezionate "SSH" e inserite l'IP o FQDN del vostro server. Successivamente cliccate sul simbolo dell'utente per inserire una nuova credenziale:
2.png

Cliccate su "New" e successivamente inserite utente e password:
3.png

4.png

Una volta salvato tutto ritornerete alla schermata di creazione nuova sessione dove dovrete spuntare la casella "specify username" e selezionare la nuova credenziale nella select box:
5.png

Salvate e provate a collegarvi facendo doppio click sulla nuova entry nel menu laterale:
6.png


4    Connessione tramite chiave SSH





La connessione tramite password è veloce, ma poco sicura e ha diverse limitazioni. Una particolarità di SSH è che si può connettere tramite una chiave SSH.

Questo metodo consiste nel generare una volta la propria chiave, che non è altro che una coppia di file chiamati "chiave privata" e "chiave pubblica". Come si intuisce dal nome, la chiave privata è personale e non deve essere condivisa con nessuno, a differenza della password per l'accesso tramite password, mentre la chiave pubblica serve solo al server SSH per autorizzare la relativa chiave privata per l'utente specificato.

In questo modo, ogni utente avrà la sua chiave privata, decisamente più difficile da ottenere per un utente non autorizzato, che potrete abilitare e disabilitare singolarmente sui server e account.

Quindi:
  • Una chiave SSH può essere usata per più server e account
  • Un account su un server può avere più chiavi autorizzate contemporaneamente
  • In caso di rimozione accessi vi basterà rimuovere l'autorizzazione alle chiavi per quell'account e server (assicuratevi che non siano state inserite backdoor dall'utente disabilitato!)

4.1    Generazione chiave SSH


In questo caso dovrete generare la vostra chiave SSH e autorizzare la chiave pubblica nel server e utente che desiderate.

Per generare una nuova chiave SSH, aprite MobaXterm e cercate nei "tools" l'utility "SSH key Generator":
7.png

Nella nuova schermata, cliccate su "Generate" e muovete il mouse nella sezione grigia, come indicato. Questo aumenterà la casualità della chiave che state generando:
8.png

Una volta finita la procedura di generazione, inserite un commento sensato alla vostra chiave con un nome che vi possa identificare (es. iltizio-key) ed eventualmente una passphrase, che servirà per criptare/decriptare la chiave privata.
Ora salvate la chiave privata come nuovo file in una posizione sicura del vostro PC e NON condividetela con nessuno.
Copiate la chiave pubblica che comparirà nel box in alto, che dovrà essere data all'amministratore per consentire l'accesso. Assicuratevi di copiarla tutta.

9.png


4.2    Abilitazione chiave SSH




Spesso i cloud provider, al momento dell'installazione del server, vi chiede di inserire una o più chiavi pubbliche, che verranno automaticamente abilitate sul nuovo server.
Eventualmente, una volta installato, potete abilitare manualmente la chiave con questa procedura:
Collegatevi al server e lanciate i comandi come nell'esempio seguente, prestando attenzione ad inserire la vostra chiave pubblica e l'account (nel mio caso "mt2"):
Bash:
mkdir -pm 700 ~mt2/.ssh
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCM+SAAEyZvXO3YS32hdhWGoHCwasHq1iDsm5GM3UULkS5Ri4/GU6vkVkH3vARwExpz4fc7XV1QbtxkCQ9dnxUAH5Iou//f1mYJ9RsjW48o4C76JNQUxksmjHbFK4yA1sLXO2p7yeIL2EPNcM2vVzj0E1jOyuIcqwpSWt9GSsOi3+x87ZizJz6NbeF+EAgR/0Q6L1qYS2e6Yukhm5easJsgeZs67Nj/IbRNa9EQ390Pc8Zei9DtyIjqARuFtgVbcCUk9MoBf2T1qmFFPED6kEcDWw/BpfDC4FqZgeUeESPKWf1X3qVVSt1/GOeyUCniUBKn42le/nO6etnts20pJMoz rsa-key-20220320" >> ~mt2/.ssh/authorized_keys
chmod 600 ~mt2/.ssh/authorized_keys
chown -R mt2 ~mt2/.ssh/


4.3    Connessione




Una volta che la chiave è stata abilitata potete provare a collegarvi tramite essa. La procedura su MobaXterm è uguale, ma c'è un passaggio in più da fare.
Nella schermata di creazione sessione SSH, selezionare il tab "Advanced SSH settings" e spuntare la casella "Use private key" e selezionate il file contenente la vostra chiave privata sul vostro PC.
10.png

L'username va tenuto specificato, ma potete anche evitare di inserire la password. Quel campo verrà ignorato.

5    Trasferimento file via SSH





I moderni server SSH dispongono integrati anche il protocollo SFTP, che sta per "SSH File Transfer Protocol". Come dice il nome, è un protocollo per il trasferimento dei file via SSH.
In pratica, l'SSH gestisce l'aspetto sicurezza e connessione, quindi autenticazione, cifratura della connessione ecc.
Con lo stesso metodo di autenticazione, via password o chiave SSH, potete quindi trasferire i file dal vostro PC al server e viceversa.
Un vantaggio di MobaXterm è quello di avere un unica applicazione per entrambe le funzionalità.
In particolare esistono due modi:
  1. Creazione sessione SFTP dedicata
  2. Browser dei file nella sessione SSH
Consiglio di usare il metodo 2, in quanto facile ed immediato, e più che sufficiente per i nostri casi.
Questo metodo non richiede configurazioni aggiuntive. E' sufficiente collegarsi via SSH come indicato precedentemente e sulla sinistra troverete una piccola schermata con l'alberatura dei file e cartelle del server, che potete utilizzare per caricare, scaricare e modificare file o cartelle tramite ambiente grafico.