Usos básicos del comando SSH en linux para acceder a equipos remotos

Photo by Svilen Milev from FreeImages

:: Photo by Svilen Milev from FreeImages ::

SSH (Secure Socket Shell) es un protocolo usado para acceder a servidores remotos con método encriptado de login y usa por defecto el puerto TCP/IP número 22. (También este puerto se puede modificar)
Este comando servicio es indispensable para cualquier administrador de sistemas.

Vamos a ver unos ejemplos prácticos sobre como usar este comando para conectarnos a otros servidores remotos y algun tip interesante

Estas pruebas se han realizado en un Centos 7 virtual. Se pueden probar conexiónes ssh a tu propio localhost, como veremos
El comando en plano es:
ssh [options] [user@]:server

  • Para saber que versión de ssh tenemos
    # ssh -V

Que saber la versión también nos indica si tenemos instalado el cliente sde ssh para poder usarlo

  • Para acceder al servidor remoto podemos usar la dirección IP o el nombre del host. La primera vez que nos conectemos al servdir remoto hará una advertecia y nos pregunta si estamos seguros de conectar a este server.
    Se genera una huella (fingerprint) con SSH que identifica de forma única a este servidor. Puede pasar que este servidor más adelante se reinstale y se cree otra fingerprint por lo que nos dara otra advertencia.
    Esto se debe a que difiere el fingerprint que grabó la primera vez y tenemos que tocar el fichero /root/.ssh/known_hosts (root o el usuario que usemos para conectar por ssh) para poder acceder otra vez.
    # ssh 192.168.1.10 OR # ssh web.dedalus_bloom.com

    En este caso voy a probar en el mismo servidor con localhost y el usuario dedalus
    # ssh dedalus@localhost
  • Cuando vas a poner la password no verás que se muestre ningún caracter o asteríscos, la primera vez que alguien empieza con esto en un sistema linux puede parecer raro, pensando que está algo mal.
  • Se puede indicar con que usuario queremos acceder al servidor, si no lo indicas te solicitara primero el nombre de usuario con el que vas a acceder al host
    # ssh -l dedalus 192.168.1.10 OR # ssh dedalus@192.168.1.10
  • Si queremos verificar el fingerprint del servidor en local usamos
    # ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub
  • Un tema interesante es poder ejecutar un comando remotos o varios en el server sin tener que acceder a la consola del mismo (haciendo el login primero)
    # ssh -l dedalus 192.168.1.10 uname -r   OR    # ssh dedalus@192.168.1.10 uname -r

Con el comando anteriror hemos invocado en remoto el uname -r para saber la versión del kernel que tiene instalado el host.
Enviando múltiples comandos:
# ssh -l dedalus 192.168.1.10 “uname -r; hostname”
 

Tenemos que separar los comandos con punto y coma (;) y ponerlos entre comillas

  • Y por último algo que puede ser muy útil, poder enviar/transferir un fichero de nuestro equipo al servidor remoto:

# scp test.txt dedalus@192.168.1.10:/home/pruebas/


Usando el comando scp estamos transfiriendo este fichero a nuestra máquina remota con una conexión encriptada añadiendo seguridad a esta operación como en ssh. Si usamos la opción -R se puede transferir un directorio completo desde nuestro equipo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.