Configuración de un cliente OpenSSH

Para conectarse a un servidor OpenSSH desde una máquina cliente, debe tener los paquetes openssh-clients y openssh instalados en la maquina cliente.

Utilizar el comando ssh

El comando ssh es un sustituto seguro de los comandos rlogin, rsh, y telnet. Esto permite iniciar sesiones y ejecutar comandos en máquinas remotas.

Inicie una sesión en una máquina remota con ssh, que es muy parecido a utilizar el comando telnet. Por ejemplo, para iniciar una sesión en una máquina remota llamada penguin.example.net, tecleará lo siguiente desde el intérprete de comandos:
                 ssh penguin.example.net
        
        
La primera vez que ejecute ssh contra una máquina remota, verá un mensaje similar al siguiente:
The authenticity of host 'penguin.example.net' can't be established.
DSA key fingerprint is 94:68:3a:3a:bc:f3:9a:9b:01:5d:b3:07:38:e2:11:0c.
Are you sure you want to continue connecting (yes/no)? 
	
Teclee yes para continuar. Esto le permitirá añadir al servidor en su lista de host conocidos como se muestra en el siguiente mensaje:
	Warning: Permanently added 'penguin.example.net' (DSA) to the list of known hosts.
	
A continuación, verá un indicador de comandos preguntándole por su contraseña desde una máquina remota Después de introducir su contraseña, se encontrará en el indicador de comandos de la máquina remota. Si utiliza ssh sin ninguna de las opciones de la línea de comados, el nombre de usuario con el que se ha validado como la máquina local se validará en la máquina remota. Si quiere especificar un nombre de usuario diferente, utilice el siguiente comando:
		ssh -l username penguin.example.net
	
	
También puede utilizar la siguiente sintaxis: ssh username@penguin.example.net.

El comando ssh se puede utilizar para ejecutar un comando en una máquina remota sin acceder al indicador de comandos (prompt). La sintaxis es: ssh hostname command. Por ejemplo, si quiere ejecutar el comando ls /usr/share/doc en la máquina penguin.example.net, teclee el siguente comando desde el indicador de comandos:
		ssh penguin.example.net ls /usr/share/doc
	
	
Después, introduzca la contraseña correcta, visualizará el contenido de /usr/share/doc y volverá a su indicador de comandos.

Uso del comando scp

El comando scp puede ser utilizado para transferir archivos entre máquinas bajo una conexión segura y encriptada. Esto es similar para rcp.

La sintaxis general para transferir un archivo local a un sistema remoto es scp localfile username@tohostname:/newfilename. El parámetro localfile especifica el origen o procedencia y el grupo de username@tohostname:/newfilename especifica el destino.

Para transferir el archivo local shadowman a su cuenta en penguin.example.net, teclee lo siguiente en el interprete de comandos (cambie username con su nombre de usuario):
                scp shadowman username@penguin.example.net:/home/	username
	
	
Esto trasferirá el archivo local shadowman a /home/username/shadowman en penguin.example.net.

La sintaxis general para transferir un archivo remoto a un sistema local es scp username@tohostname:/remotefile /newlocalfile. El remotefile especifica el origen, y newlocalfile especifica el destino.

Puede tranferir varios archivos diferentes del origen al destino. Por ejemplo, para transferir el contenido del directorio /downloads a un directorio existente llamado uploads en la máquina remota penguin.example.net, teclee lo siguiente desde interprete de comandos:
              scp /downloads/* username@penguin.example.net:/uploads/
       
       

Uso del comando sftp

La utilidad sftp que puede ser usada para abrir una sesión segura e interactiva de FTP. Esto es similar para ftp a excepción de que este utiliza un seguridad de conexión encriptada. La sintaxis general es sftp username@hostname.com . Una vez autentificado, podrá utilizar un conjunto de comandos similar al conjunto utilizado por el comando FTP. Consulte las páginas del manual de sftp para obtener un listado de todos estos comandos. Para consultar el manual ejecute el comando man sftp desde el indicador de comandos. La utilidad sftp está sólo disponible en la versiones 2.5.0p1 de OpenSSH y superiores.

Generar claves

Si no quiere introducir su contraseña todo el tiempo cada vez que se conecte a una máquina remota con ssh, scp, o sftp, puede generarse una autorización de clave doble.

NotaAutorización separada en pares de clave
 

Debe tener separados los pares de claves de autorización para el Protocolo SSH 1 (RSA) y para el Protocolo SSH 2 (DSA).

AvisoCada usuario necesita su propio par de claves
 

Las claves deben ser generadas para cada usuario. Para generar las claves de un usuario, debe seguir los siguientes pasos como el usuario que quiere conectarse a máquinas remotas. Si completa los siguentes pasos como root, sólo root será capaz de utilizar estas claves.

Generar un par de claves DSA

Utilice los siguientes pasos para genearar un par de claves DSA. DSA es utilizada por el protocolo SSH 2 y es el que utiliza por defecto en Red Hat Linux 7.1.

  1. Para generar un par de claves DSA para trabajar con la versión 2.0 del protocolo, teclee el siguiente comando desde el indicador:

    		ssh-keygen -t dsa
    		

    Acepte la localización que se muestra; por defecto en el archivo ~/.ssh/id_dsa. Introduzca una palabra de paso diferente a la contraseña de su cuenta y confírmela introduciéndola de nuevo. [1]

    Sugerencia¿Qué es una palabra de paso?
     

    Una palabra de paso es una cadena de caracteres o palabras utilizadas para autentificar a un usuario. Las palabras de paso se diferencian de las contraseñas en que se pueden utilizar espacios o tabuladores en la palabra de paso. Las palabras de paso son generalmente más largas que las contraseñas porque ellas son habitualmente frases en lugar de una simple palabra.

  2. Cambie los permisos de su directorio .ssh utilizando el comando chmod 755 ~/.ssh.

  3. Copie el contenido de ~/.ssh/id_dsa.pub a ~/.ssh/authorized_keys2 en la máquina sobre la cual usted se quiere conectar. Si el archivo ~/.ssh/authorized_keys2 no existe, puede copiar el archivo ~/.ssh/id_dsa.pub al archivo ~/.ssh/authorized_keys2 en la otra máquina. [1]

  4. Si está ejecutando GNOME, vaya a la sección la sección de nombre Configuración del programa ssh-agent con GNOME. Si no está ejecutando X Window, vaya a la sección de nombre Configuración del ssh-agent.

Generar un par de claves RSA para la Versión 2.0

Siga los siguientes pasos para generar un par de claves RSA para la Versión 2.0 del protocolo SSH.

  1. Para generar un par de claves RSA para trabajar con la versión 2.0 del protocolo, teclee el siguiente comando desde el indicador:

                  ssh-keygen -t rsa
                  

    Acepte la localización por defecto del archivo ~/.ssh/id_rsa. Introduzca una palabra de paso diferente a la contraseña de su cuenta y confirme ésta introduciéndola de nuevo. [1]

  2. Cambie los permisos de su directorio .ssh utilizando el comando chmod 755 ~/.ssh.

  3. Copie el contenido de ~/.ssh/id_rsa.pub a ~/.ssh/authorized_keys2 en la máquina en la que se quiere conectar. Si el archivo ~/.ssh/authorized_keys2 no existe, podrá copiar el archivo ~/.ssh/id_rsa.pub al archivo ~/.ssh/authorized_keys2 en la otra máquina. [1]

  4. Si está ejecutando GNOME, vaya a la sección de nombre Configuración del programa ssh-agent con GNOME. Si no está ejecutando X Window, vaya a la sección de nombre Configuración del ssh-agent.

Generar un par de claves RSA para la Versión 1.3 y 1.5

Siga los siguientes pasos para generar un par de claves RSA, las cuales se usan con la versión 1 del protocolo SSH. Si está sólo conectado con sistemas Red Hat Linux 7.1 , no necesitará un par de claves RSA.

  1. Para generar una par de claves RSA (para la versión 1.3 y protocolo 1.5), teclee el siguiente comando desde el indicador de comandos:
    ssh-keygen
    Acepte la localización por defecto del archivo (~/.ssh/identity). Introduzca una palabra de paso diferente a la contraseña de su cuenta. Confirme la palabra de paso introduciéndola de nuevo.

  2. Cambie los permisos de su directorio .ssh y de sus claves con el comando chmod 755 ~/.ssh y chmod 644 ~/.ssh/identity.pub.

  3. Copie el contenido de ~/.ssh/identity.pub al archivo ~/.ssh/authorized_keys en la máquina sobre la cual se quiere conectar. Si ~/.ssh/authorized_keys no existe, puede copiar el archivo ~/.ssh/identity.pub al archivo ~/.ssh/authorized_keys en la máquina remota. [1]

  4. Si está ejecutando GNOME, vaya a la sección de nombre Configuración del programa ssh-agent con GNOME. Si no está ejecutando GNOME, vaya a la sección de nombre Configuración del ssh-agent.

Configuración del programa ssh-agent con GNOME

La utilidad ssh-agent se puede usar para guardar su palabra de paso, de manera que no tendrá que introducirla cada vez que inicie una conexión ssh o scp. Si está utilizando GNOME, la utilidad openssh-askpass-gnome se puede utilizar para lanzar su palabra de paso cuando inicie GNOME y guardarla hasta que finalice la sesión de GNOME. Durante la sesión GNOME, no tendrá que introducir su contraseña o su palabra de paso para cualquier conexión ssh o scp . Si no está utilizando GNOME, consulte la sección de nombre Configuración del ssh-agent.

Para guardar una palabra de paso durante una sesión GNOME, siga los siguientes pasos:

  1. Necesitará tener instalado el paquete openssh-askpass-gnome; puede utilizar el comando rpm -q openssh-askpass-gnome para determinar si está instalado o no. Si no está instalado, instálelo desde los CDs de Red Hat, desde un sitio mirror de FTP de Red Hat, o utilizando Red Hat Network.

  2. Si no tiene un fichero ~/.Xclients, puede ejecutar switchdesk para crearlo. En su fichero ~/.Xclients, edite la siguiente linea:
                    exec $HOME/.Xclients-default
                    
    Cambie la línea de tal manera que lea:
                  exec	/usr/bin/ssh-agent $HOME/.Xclients-default
                  

  3. Abra el panel de control GNOME (GNOME Main Menu Button => Programs => Settings => GNOME Control Center) y vaya a Session => Startup Programs. Pulse Add y entre en el cuadro de texto /usr/bin/ssh-add Startup Command. Establezca un número de prioridades superiores a cualquiera de los comandos existentes para asegurarse de que éste se ejecuta el últim. Una buena prioridad para ssh-add es 70 o más. Cuanto más alto sea el número de prioridades, más baja es la prioridad. Si tiene otros programas listados, uno de ellos debería tener la prioridad más baja. Pulse OK para salvar la configuración y salir del panel de control de GNOME.

  4. Cierre la sesión y luego vuelva a GNOME; en otras palabras, reinicie las X. Después de arrancar GNOME, aparecerá una ventana de diálogo pidiéndole su palabra(s) de paso. Introduzca la palabra de paso que se le pide. Si tiene DSA y RSA con pares de claves, ambas configuradas, lo estará ejecutando para ambas. A partir de este momento, no debería introducir ninguna contraseña para ssh, scp o sftp.

Configuración del ssh-agent

El ssh-agent se puede utilizar para almacenar sus palabras de paso, de modo que no necesite volver a introducirlas cada vez que realice una conexión ssh o scp. Si no está ejecutando X, siga los siguientes pasos desde el indicador de comandos. Si está ejecutando GNOME pero no quiere configurarlo, actívelo para sus palabras de paso cuando abra una sesión (vea la sección de nombre Configuración del programa ssh-agent con GNOME), este procedimiento trabajará en una ventana de terminal como por ejemplo xterm. Si está ejecutando X en lugar de GNOME, este procedimiento trabajará en un terminal del tipo de xterm. Sin embargo, sus palabras de paso sólo pueden ser recordadas en este terminal; no es un escenario global.

  1. Desde el indicador de comandos, teclee lo siguente:
           exec /usr/bin/ssh-agent $SHELL
             
    Después teclee el comando
    ssh-add 
    e introduzca su palabra(s) de paso. Si tiene DSA y RSA con pares de claves y ambos están configurados, lo ejecutará para ambos.

  2. Cuando termine la sesión, su palabra de paso será olvidada. Debe ejecutar estos dos comandos cada vez que abra una consola virtual o abra una ventana de terminal.

Notas

[1]

El ~ simboliza el directorio principal sobre el que el usuario abrió la sesión actual. Consulte la Official Red Hat Linux Getting Started Guide para más detalles.