Archivo etiqueta Redes
Usando SSH
Por Luis Gallardo - Linux - 05/08/2010
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 [email protected] ssh [email protected]
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 [email protected] comando ssh [email protected] comando
Donde comando se refiere a la orden o ruta absoluta del programa a ejecutar. Ejemplos:
ssh [email protected] /usr/local/bin/respaldo ssh [email protected] 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 [email protected] aplicación ssh -X [email protected] aplicación
Por ejemplo, si queremos ejecutar desde un servidor remoto una aplicación como el Firefox podríamos escribir:
ssh -X [email protected] 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 [email protected]:/ruta/remota scp /ruta/local/al/archivo [email protected]:/ruta/remota
Ejemplo:
scp /etc/passwd [email protected]:/home/lgallard/Escritorio
Copiar desde un servidor remoto a la máquina local:
scp [email protected]:/ruta/remota/del/archivo /ruta/local scp [email protected]:/ruta/remota/del/archivo /ruta/local
Ejemplo:
scp [email protected]:/etc/shadow .
Referencias
- Secure Shell en Wikipedia
- man ssh

Planeta Linux
Sígueme