Conectar a un servidor cPanel mediante llave SSH desde Mac

Describe el proceso de creación de una clave SSH desde el panel de control cPanel y su posterior instalación en un Mac para iniciar una sesión remota sin hacer uso de nombre de usuario y contraseña.

Autor: Emilio C.S.
Publicado el (actualizado el )


¿Qué vamos a hacer?

Vamos a crear una clave SSH desde el panel de control cPanel compuesta por por clave privada y una clave pública. Autorizaremos la clave pública y después instalemos la clave privada en nuestro equipo. Por último, iniciaremos una sessión remota en el servidor haciendo uso de la clave SSH.

Crea la clave SSH en Cpanel

  1. Accede al Panel de control / Seguridad / Acceso SSH.
  2. Selecciona Administrar claves SSH.
  3. En la nueva página selecciona Generar una nueva clave y completa el formulario de creación de la clave.
    Generando una clave pública
    • Nombre de clave: id_dsa o nombredetuclave
    • Contraseña de clave: una contraseña fuerte
    • Tipo de clave: RSA
    • Tamaño de la clave: 2048
  4. Para continuar selecciona Generar clave, si la clave ha sido creada correctamente verás el mensaje Generación de clave completada!.

    Generating public/private rsa key pair.
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /home/usuario/.ssh/nombredetuclave.
    Your public key has been saved in /home/usuario/.ssh/nombredetuclave.pub.

  5. Para regresar a la administración de claves SSH selecciona Volver. De nuevo en la Administración de claves SSH podrás comprobar en el apartado Claves públicas que tu clave ha sido creada pero todavía no está autorizada (not authorized).
  6. Selecciona Administrar y en la nueva página Authorize. Al autorizar la clave verás el mensaje La clave "nombredetuclave.pub" se ha autorizado. Para regresar a la administración de claves SSH selecciona Volver, podrás comprobar que la clave está autorizada (authorized).

Descarga e instala la clave privada en tu Mac

  1. Haz clic en Ver/descargar de la sección Claves privadas y copia ⌘ + C tu clave privada a un documento sin formato incluyendo la primera (-----BEGIN RSA PRIVATE KEY-----) y última linea (-----END RSA PRIVATE KEY-----).
  2. Abre la aplicación TexEdit, selecciona Nuevo documento, ve al menú superior Formato y selecciona Convertir a texto sin formato o pulsa las teclas ⇧ ⌘ T (comando + T + shift o mayúscula).
  3. Pega ⌘ + V tu clave SSH en el nuevo documento y guárdalo temporalmente en el directorio Documentos de tu cuenta de usuario.

    Mac OS X dispone de un directorio predeterminado para el almacenamiento de claves privadas, se trata del directorio oculto .ssh ubicado en /Volumes/Mac/Users/Usuario/.ssh, vamos a trasladar la clave a ese directorio.

  4. Abre la aplicación Terminal y ejecuta el siguiente comando: mv ~/Documents/nombredetuclave ~/.ssh/
  5. A continuación asegura tu clave con el siguiente comando: chmod 600 ~/.ssh/nombredetuclave

    Si no lo haces recibirás un error como este al intentar utilizarla:

    WARNING: UNPROTECTED PRIVATE KEY FILE!
    Permissions 0644 for '/Users/Usuario/Documents/nombredetuclave' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored.
    bad permissions: ignore key: /Users/Usuario/Documents/nombredetuclave
    Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

  6. Tu clave privada ya está lista para ser utilizada como llave, conecta por SSH a tu servicio de alojamiento web. Para ello ejecuta el siguiente comando (donde ~/.ssh/nombredetuclave es la ruta a tu clave privada, usuario es el nombre de usuario de tu servicio de alojamiento web y host el nombre de tu dominio o su dirección Ip):

    ssh -2 -i ~/.ssh/nombredetuclave usuario@host

    Si necesitas conectar al servidor a través de un puerto diferente tendrás que especificarlo (1234 sería el puerto):

    ssh -2 -p1234 -i ~/.ssh/nombredetuclave usuario@host
  7. La primera vez que establezcas una conexión recibirás una alerta como esta:

    The authenticity of host '[host]:puerto ([ip]:puerto)' can't be established. RSA key fingerprint is. Are you sure you want to continue connecting (yes/no)?

  8. Comprueba que has conectado a la Ip correcta y acepta la autenticidad del host, para ello escribe Yes y pulsa Intro.

    Warning: Permanently added '[host]:puerto' (RSA) to the list of known hosts. Last login: Wed Dec 17 13:21:57 2014 from (tu dirección Ip).

  9. Finalmente el sistema te preguntará por la contraseña de la clave SSH, recuerda que es la contraseña que utilizaste al crearla desde el panel de control cPanel. Marca la opción Guardar contraseña en mi llavero para más comocidad.

    Felicidades, si has seguido este tutorial ya debes estar dentro!

Recuerda que la clave privada original continúa almacenada en el directorio /home/usuario/.ssh/ de tu plan de alojamiento web, puedes mantenerla como copia de seguridad en caso de pérdida, pero no es imprescindible para iniciar la sesión.