SSH

De Jose Castillo Aliaga
Revisión del 13:06 10 ene 2013 de Admin (discusión | contribs.) (Página creada con «SSH (Secure SHell) És un protocol per a la transferència d'arxius i gestió de maquines remotes amb connexió segura. En base a aquest protocol hi han diferents program...»)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegación Ir a la búsqueda

SSH (Secure SHell) És un protocol per a la transferència d'arxius i gestió de maquines remotes amb connexió segura.

En base a aquest protocol hi han diferents programes per a la realitzar aquest tipus de tasques.

El que anem a estudiar és OpenSSH

Instal·lació i configuració d' OpenSSH

$ sudo apt-get install ssh
  • Instal·la un paquet buit que fa referència a openssh-server i openssh-client
  • Es creen unes claus SSH2 RSA i DSA per identificar el servidor.
  • Les claus es guarden a la carpeta /etc/ssh
$ cd /etc/ssh
$ ls *key*
ssh_host_dsa_key  ssh_host_dsa_key.pub  ssh_host_rsa_key  ssh_host_rsa_key.pub


Per defecte, té reservat el port 22 TCP i UPD, encara que el habitual és el TCP.

El fitxer de configuració del servidor és /etc/ssh/sshd_config

Ús bàsic

La sintaxi de SSH segueix un esquema similar al del correu electrònic:

usuari@nom_maquina_remota

Els següents són exemples de connexió amb SSH a una màquina remota:

$ ssh lliurex@www.upv.edu
$ ssh lliurex@192.168.1.1
$ ssh 192.168.1.1

De vegades necessitem que quan fem una connexió remota tenim que carregar aplicacions amb entorn gràfic i ho faríem:

$ ssh -X [usuari de la maquina de destí]@[IP o Hostmane de la maquina de destí]

El -X sols funciona si el servidor té interficie gràfica.

Connexió sense contrasenya

La comanda ssh-keygen s'encarrega de la creació dels parells de claus pública/privada. Per defecte, els fitxers depenent del protocol escollit:

   $HOME/.ssh/identity (clau privada) i $HOME/.ssh/identity.pub (clau pública)
   $HOME/.ssh/id_dsa (clau privada) i $HOME/.ssh/id_dsa.pub (clau pública) si el protocol escollit es DSA.
   $HOME/.ssh/id_rsa (clau privada) i $HOME/.ssh/id_rsa.pub (clau pública) si el protocol escollit es RSA. 
Les comandes exactes a utilitzar per generar les claus en cadascun dels casos anteriors són: 
$ ssh-keygen -t dsa 
$ ssh-keygen -t rsa 
El nom dels fitxers per defecte es pot canviar utilitzant el paràmetre -f. Durant la creació de la clau se'ns preguntarà per la possibilitat de protegir l'ús de la clau amb contrasenya. Si la nostra intenció és automatitzar tasques podem anular aquest pas si no introduïm cap contrasenya (Enter). 
$ ssh-keygen -t rsa -b 2048

Els arxius són .ssh/id_rsa i .ssh/id_rsa.pub

El id_rsa.pub cal afegir-lo al .ssh/authorized_keys del servidor. Es pot fer amb scp.

Com que al generar les claus no hem ficat contrasenya, es connectarà directament. Si no, ens demana la de desencriptar la clau privada.

Per a eliminar un client ssh-keygen -R IP_client

Però crear la clau privada sense contrasenya no és molt recomanable. Cal fer que el sistema la recorde una vegada per sessió amb el ssh-agent.

$ ssh-add -l 
$ ssh-add ~/.ssh/id_dsa

scp

Funciona de forma anàloga a la comanda cp, però utilitza prefixos de conexió a màquina remota:

usuari@host:/PATH_AL_FITXER 

Per exemple:

$ scp $HOME/file1 jose@sga2.upv.es:$HOME

Copia el fitxer file1 de la carpeta home local a la carpeta home del servidor sga2.upv.es.

SSH backdoor o remote Forwarding

Permet accedir via SSH a una màquina darrera d'un firewall.

Si la màquina té accés cap a l'exterior aleshores es possible saltar-se el tallafocs si tenim accés a la màquina.

Si existeix un tallafocs o necessites una certa privacitat en les connexions a Internet.

$ ssh -D 7070 jo@macasa.com

Redirecciona la connexió al port 7070.

Cal que el servidor tinga en /etc/ssh/sshd_config:

AllowTcpForwarding yes
GatewayPorts yes
TCPKeepAlive yes

En el firefox es fica com a proxy sols en SOCKS v5 localhost:7070 i a funcionar!

Sshproxy.png