Archivo etiqueta Redes

Usando SSH

SSH

Si trabajas en un entorno de red muy probablemente necesitarás administrar servidores, ejecutar aplicaciones o copiar archivo de forma remota y segura. Para estos contamos con el protocolo ssh el cual permite intercambio de información a través de un canal seguro entre dos dispositivos de red, utilizando criptografía de llave pública para autenticar computadoras remotas y usuarios.  Algunas de las características de ssh son las siguientes:

  • Permite la administración de computadoras de forma remota.
  • Puede usarse como alternativa a FTP (usando SFTP).
  • Es el sustituto de las órdenes r (rcp, rsh, rlogin y telnet).
  • Permite el redireccionamiento de puertos y tunneling.
  • Puede ser usado para ejecutar órdenes en servidores remotos.
  • Permite correr aplicaciones gráficas en un servidor remoto y mostrarlas en la máquina local.
  • Por omisión escucha en el puerto tcp 22.

Instalación de SSH

En Debian puede instalarse tanto el cliente como el servidor de la siguiente manera:

aptitude install openssh-client openssh-server

Acceder a equipo remotos

Para acceder a un equipo remoto al cual le conocemos su nombre o dirección IP, podemos usar lo siguiente:

ssh usuario@servidor.com
ssh usuario@192.168.1.30

Donde servidor.com debe ser un nombre que se pueda traducir a una dirección IP, bien por DNS o a través del archivo /etc/hosts. Por otro lado, si en el servidor y en la máquina cliente existen la misma cuenta de usuario con que se está trabajando, puede omitirse el nombre de usuario y asumirá que es el usuario actual:

ssh 192.168.1.30

Ejecución de órdenes de forma remota

Para ejecutar una orden de forma remota, puede usarse la siguiente sintaxis:

ssh usuario@servidor.com comando
ssh usuario@192.168.1.30 comando

Donde comando se refiere a la orden o ruta absoluta del programa a ejecutar. Ejemplos:

ssh usuario@servidor.com /usr/local/bin/respaldo
ssh usuario@192.168.1.30 ls > listado.tx

Ejecución de aplicaciones gráficas remotas

En ciertas ocasiones nos interesa ejecutar aplicaciones gráficas en máquinas remotas pero que la salida de dicha aplicaciones se nos muestre de forma local. Esto puede conseguirse en ssh con la opción -X:

ssh -X usuario@servidor.com aplicación
ssh -X usuario@192.168.1.30 aplicación

Por ejemplo, si queremos ejecutar desde un servidor remoto una aplicación como el Firefox podríamos escribir:

ssh -X lgallard@192.168.1.30 firefox

Nota: Para poder desplegar aplicaciones gráficas de forma remota, en el servidor se debe habilitar la siguiente opción en el archivo /etc/ssh/sshd_config:

X11Forwarding yes

Copiando archivos de forma remota

Más temprano que tarde terminaremos copiando archivos entre estaciones de trabajo y,  para evitar copiar en medios temporales (como pendrives), puede usarse directamente el copiado entre máquinas. Para eso podemos seguir esta sintaxis:

Copiar desde la máquina local a un servidor remoto:

scp /ruta/local/al/archivo usuario@servidor.com:/ruta/remota
scp /ruta/local/al/archivo usuario@192.168.1.30:/ruta/remota

Ejemplo:

scp /etc/passwd lgallard@192.168.1.30:/home/lgallard/Escritorio

Copiar desde un servidor remoto a la máquina local:

scp usuario@servidor.com:/ruta/remota/del/archivo /ruta/local
scp usuario@192.168.1.30:/ruta/remota/del/archivo /ruta/local

Ejemplo:

scp root@192.168.1.30:/etc/shadow .

Referencias


,

3 Comentarios