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

:: 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 un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies