Faq ssh

Faq ssh

Pubblicato il Pubblicato in Faq, System administrator

ssh: come importare la chiave pubblica su un host

Supponiamo di aver già a disposizione le nostre chiavi pubbliche e private ssh o creiamole per la prima volta con il comando

ssh-keygen

Le chiavi create sono sotto $HOME/.ssh/id* e le pubbliche finiscono con .pub

Abilitare l’ssh-agent ed aggiungere le chiavi con il comando

ssh-add

Per importare la chiave sull’host “mioserver” di cui abbiamo accesso tramite l’utente “mioutente” basta il comando

ssh-copy-id mioutente@mioserver

In tal caso tutte le chiavi pubbliche vengono copiate nel server “mioserver“.
Se si vuol copiare solo la chiave “rsa” basta lanciare il comando

ssh-copy-id -i $HOME/.ssh/id_rsa mioutente@mioserver

 

Come cambiare la password ssh

ssh-keygen -p

Come lanciare un comando su un host remoto in ssh

Per lanciare un comando remoto basta passarlo come ultimo parametro al comando ssh.

Supponiamo ad esempio di volere la lista dei file della home page di “mioutente” su “mioserver

ssh mioutente@mioserver ls -alh

Per fare, invece,  il backup di tutta la home con il comando tar e salvare tutto in locale tramite comando ssh, lanciamo

ssh mioutente@mioserver tar czvf - . >miobackup.tgz

Utilizzare ssh come server/proxy SOCKS5

Supponiamo di voler utilizzare “mioserver” come server/proxy SOCKS5 e configurarlo sul browser locale facciamo

ssh mioutente@mioserver
mioutente@mioserver:~$ ssh -N -D 8080 localhost

A questo punto basta configurare nel browser l’utilizzo del server “mioserver” su porta “8080” come SOCKS5 e navigare.
Aggiungere l’opzione “-f” di ssh per lasciare il comando in background.

Come redirigere una connessione remota in locale tramite ssh

Supponiamo che l’host “mioserver” sia autorizzato ad accedere su una DMZ al server mysql della server farm, per poter accedere direttamente anche con il computer locale al server mysql possiamo lanciare il comando locale

ssh -L 3333:mysql_server_name_o_ip:3306 mioutente@mioserver

Lasciando il comando attivo ora abbiamo un canale/tunnel criptato tra il computer locale e “mioserver” sulla porta locale 3333 che si connette direttamente al server mysql in DMZ (di nome mysql_server_name_o_ip).
Possiamo quindi connetterci direttamente al server mysql con il comando

mysql -P 3333 -h 127.0.0.1 -u mioutentemysql -p miodatabasemysql

Oppure se si preferisce utilizzare phpMyAdmin basta installarlo in locale e configurarlo sulla porta locale 3333.

Per togliere il canale criptato basta chiudere la connessione ssh.

Redirigere un servizio locale in remoto con ssh

Supponiamo di volerci connetterci da casa al pc dell’ ufficio (che può accede al server “mioserver” in server farm)  non raggiungibile nemmeno in VPN; basta che dal pc di ufficio lanciamo il comando ssh:

ssh -N -f -R 2222:localhost:22 mioutente@mioserver

lasciandolo attivo (senza spegnere il computer).
Da casa basta abilitare la VPN per poter raggiungere “mioserver” e connettersi al server

ssh mioutente@mioserver
mioutente@mioserver:~$ ssh -P 2222 utente_pc_lavoro@localhost
utente_pc_lavoro@localhost:~$

In tal modo si riesce ad entrare nel pc dell’ufficio da casa.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *