#howto - Applicazioni da usare con ssh
Se pensate che ssh serva solo per connettervi ad un altro pc in remoto per gestirlo, beh potreste sbagliarvi. Esistono infatti alcune applicazioni che tramite ssh, vi permettono di fare qualcosa in più.
Se hai dei dubbi o vuoi avere dei chiarimenti su SSH, vai a leggere i nostri articoli citati sotto:
Banalmente: i git client
La prima e più banale applicazione di ssh è semplicemente git.
Tramite ssh potrete gestire il vostro repository git senza dover accedere alla piattaforma.
I client web come github e gitlab prevedono già la possibilità di autenticarsi, ecco ad esempio la nostra guida su come autenticarsi su github con la chiave ssh.
In genere se avete un server con dei vostri repository git potete impostare il vostro repository su cui pushare a:
[email protected]:/percorso/progetto/git
Un po’ come se doveste usare scp
.
Nel caso di una porta diversa:
[email protected]:PORTA/percorso/progetto/git
Comando completo:
git remote add mioserver [email protected]:PORTA/percorso/progetto/git
Trasferire file con sshfs
E se vi dicessimo che potreste montare un’intera cartella remota sul vostro pc ? SSH File System, ovvero sshfs lo rende possibile.
Installatelo con il vostro package manager di riferimento
Installazione sshfs su Ubuntu o derivate
apt install sshfs
Installazione sshfs su Fedora
dnf install -y sshfs
Installazione sshfs su Archlinux
pacman -S sshfs
Utilizzo
Per montare una cartella remota bisogna innanzitutto creare una cartella di destinazione del montaggio, come se fosse un device:
mkdir puntodimount
Quindi potete montarlo così:
sshfs [email protected]:/percorso/cartella/da/montare puntodimount
Se il vostro ssh server è montato su una porta diversa dalla 22 potete usare il flag -p
:
sshfs [email protected]:/percorso/cartella/da/montare -p PORTA
Dovreste quindi trovarvi la cartella montata sul vostro file system locale, nel percorso creato ed indicato!
Se non doveste riuscire a scrivere, provate a montare la cartella utilizzando queste opzioni:
sshfs -o rw,allow_other [email protected]:/percorso/cartella/da/montare -p PORTA
Smontare la cartella
Per smontare la cartella basta scrivere:
umount puntodimount
Esattamente come se fosse un’ unità esterna fisica.
Filezilla
Esiste un programma che utilizza ssh per per fare trasferimento di file in ftps
, ovvero Filezilla
-
Installare Filezilla su Ubuntu e derivate
apt install filezilla
Installare Filezilla su Fedora
dnf install -y filezilla
Installare Filezilla su Archlinux
pacman -S filezilla
utilizzo
Una volta scaricato non vi è tantissimo da spiegare in realtà, il tool è una GUI molto user friendly, in alto trovate dei campi di testo editabili dove inserire:
- host: ovvero l’indirizzo della macchina o del server a cui desiderate connettervi
- Nome utente
- Password
- Porta
Infine premendo su “Connessione rapida” dovreste vedere, nel riquadro a destra, le cartelle del server remoto.
A sinistra vedrete invece le vostre cartelle, selezionate quella dove volete scaricare i vostri file.
Condividere un terminale con tmux
Potete condividere una sessione di terminale con un amico o un altro dispositivo tramite ssh in maniera molto semplice.
Per farlo dovrete installare tmux
Installare termux su Ubuntu e derivate
apt install tmux
Installare termux su Fedora
dnf install -y tmux
Installare termux su Archlinux
pacman -S tmux
Condividere la sessione tmux
Una volta installato scrivete:
tmux new-session
Sulla macchina di cui volete condividere la sessione.
Sull’altra macchina invece bisogna connettersi con ssh:
ssh [email protected] -t tmux attach-session
Se dovesse apparire un errore del genere:
need UTF-8 locale (LC_CTYPE) but have ANSI_X3.4-1968
Andate a modificare il file sshd_config
del server scrivendo :
SendEnv LC_*
Quindi riavviate il demone ssh e riprovate a connettervi!
Se volete condividere la sessione con un amico, potrebbe essere meglio condividere una sessione guest, ecco una guida su come crearne una!
Messaggiare con sshchat
Potete messaggiare tramite ssh! Beh non credo ci siano tante persone con cui farlo… ma nel caso..
Installazione
Sul vostro server scriverete:
git clone https://github.com/shazow/ssh-chat.git
Quindi entriamo nella directory:
cd ssh-chat
Per compilare il progetto serve go
, se non lo abbiamo, installiamolo con il nostro package manager.
Quindi diamo
make
Generiamo le chiavi
Per avviare il server dobbiamo generare delle chiavi, se non le abbiamo generate:
ssh-keygen
Avvio server
A fine compilazione potremmo avviare il server, supponendo il suo funzionamento su porta 2022:
./ssh-chat --bind ":2022" --identity ~/.ssh/id_rsa
Connettersi lato client
Ora andiamo sui vari client, e colleghiamoci all’ip e a quella porta tramite ssh:
ssh -p2022 ind.iri.zzo.ip
Disconnettersi
Digitare CTRL-D
oppure /exit
per spegnere.