#4sysadmins

Inicio » Comandos SSH

Comandos SSH

ssh : Nos permite realizar logins remotos de forma segura. Es el sustituto de rlogin y rsh.  Contiene bastantes opciones pero su uso básico se basa en escribir un usuario y un host al que acceder seguidos del comando ssh.

ssh [opciones] usuario@ip-destino

Opciones:

  • Usar la versión 1 del protocolo: -1
  • Usar la versión 2 del protocolo: -2
  • Forzar el uso de direcciones IPv4: -4
  • Forzar el uso de direcciones IPv6: -6
  • Utilizar un archivo de configuración para el usuario alternativo a ~/.ssh/config: -F <archivo>
  • Indicar el puerto a utilizar: -p <puerto>
  • Habilitar el uso de X11 forwarding: -X
  • Deshabilitar X11: -x
  • Imprimir el número de versión y salir: -V

Nota: Estas opciones pueden ser especificadas directamente desde el archivo de configuración del usuario ~/.ssh/config

 
scp : Secure copy. Copia archivos a equipos remotos de forma segura.

scp <archivo-origen> usuario@ip-destino:/dir/de/destino/

Ejemplo:

$ scp /home/nebul4ck/Desktop/peliculas.txt films@videoteca.freeser.es:/home/films/Cine/

Copiará el archivo peliculas.txt dentro del directorio Cine del usuario films en el host videoteca.freeser.es

 
ssh-keygen : Genera par de claves por ejemplo para tener acceso a máquinas a las que se le haya transferido la parte pública de la clave una vez generada. Podremos generar un par de claves de la siguiente forma:

# ssh-keygen -q -t rsa1 -f /etc/ssh/ssh_host_key -C '' -N ''

 
ssh-copy-id : Nos permite copiar la clave pública en el archivo de host conocidos de un equipo remoto. Se nos solicitará la clave la primera vez que estemos copiando la clave pública. El resto de conexiones se podrán hacer sin contraseñas. Combinando este comando y el anterior (ssh-keygen) podremos hacer conexiones seguras sin requerir de la contraseña del usuario remoto de la siguiente forma:

1 . Creamos nuestro par de claves:

ssh-keygen -b 4096 -t rsa

donde:

-b genera una clave de 4096 bits, por defecto (si no usamos -b) se generará de 2048, que suele ser suficiente.

-t indica el tipo de clave, en nuestro caso rsa para protocolo 2

Nota: Deberemos de pulsar tres veces [ENTER]

2 . Copiamos de forma automática nuestra clave pública en un equipo remoto para un usuario específico, tal que así:

ssh-copy-id usuario@ip_del_equipo

En este paso se nos pedirá el password de “usuario”. Con esto habremos acabado.

 
ssh-agent : Agente de autenticación. Utilizado para conectar a un equipo sin requerir la contraseña del usuario. Antes debe de ser configurado. Es similar a la opción anterior en la que utilizábamos ssh-keygen y ssh-copy-id.

Para utilizar ssh-agent deberemos de seguir unos pasos sencillos pero necesarios:

1 . Desde el sistema cliente (el que utilizaremos para conectar contra un servidor) generaremos una clave SSH versión 2 (rsa y dsa, para versión 1 usar rsa1):

$ ssh-keygen -q -t rsa -f ~/.ssh/id_rsa -C ''

2 . Se nos pedirá una frase de contraseña la cual será la que utilicemos para futuras conexiones

3 . Ahora para que todo empiece a funcionar deberemos de acceder al equipo remoto (ssh usuario_remoto@servidor) escribiendo la contraseña del usuario_remoto y copiaremos el contenido de nuestro archivo id_rsa.pub al final del archivo ~/.ssh/authorized_keys o ~/.ssh/authorized_keys2 del directorio /home de usuario_remoto. Si no existiese ninguno de estos dos deberíamos de crear uno de ellos.

Nota: Puede que en algunos sistemas tengamos que cambiar los permisos del archivo ~/.ssh/authorized_keys y directorios. Normalmente es suficiente con eliminar los permisos de escritura (0600) y asegurándonos de que el propietario es usuario_remoto.

4 . Ahora ya podremos usar ssh-agent desde el sistema cliente. Para ello ejecutaremos

$ ssh-agent /bin/bash

Desde esta sesión conectaremos escribiendo primeramente ssh-add ~/.ssh/id_rsa para añadir nuestra clave RSA al conjunto gestionado por ssh-agent. Se nos pedirá que introduzcamos la frase/clave que introducimos al crear el par de claves en el paso 1.

Aviso: Cada vez que queramos volver a realizar accesos al sistema remoto al que hemos facilitado nuestra clave pública no deberemos de dar la contraseña del usuario remoto, pero si que tendremos que repetir el paso 4.

Si utilizamos este sistema con frecuencia desde nuestro usuario local, podemos hacer que cada vez que se inicia bash lo haga ejecutando ssh-agent. Esto podemos lograrlo modificando /bin/bash por ssh-agent /bin/bash en la línea de nuestro usuario del archivo /etc/passwd.


Deja un comentario, Gracias!

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: