Conectarse a su servidor de correo por SSH

El acceso por shell a un servidor de cripta.to se hace con clave SSH, no con contraseña. Una vez que ha añadido su clave pública al servidor (desde la pantalla de claves SSH del panel de control o mediante el generador de claves SSH del navegador), utiliza la clave privada correspondiente para iniciar sesión. Este artículo explica exactamente cómo hacerlo en cada sistema operativo, y repasa los dos o tres errores con los que casi todo el mundo se topa la primera vez.

En todo el texto damos por hecho que el archivo de clave privada que ha descargado se llama cripta_ssh y que su servidor es mail.sudominio.com. Sustituya su propio nombre de host (aparece en la tarjeta del servidor en el panel de control). Siempre inicia sesión como root.

La clave privada es un secreto. Quien la tenga puede entrar en su servidor. Guarde el archivo en un lugar seguro, no lo envíe nunca por correo ni lo pegue en un chat, y comparta únicamente la mitad pública (.pub).

macOS

macOS incluye OpenSSH, así que no hay nada que instalar: basta con el Terminal.

  1. Mueva la clave a su carpeta SSH y restrinja sus permisos. SSH se niega a usar una clave privada que otros usuarios de la máquina puedan leer, así que el paso chmod no es opcional:

    mkdir -p ~/.ssh
    mv ~/Downloads/cripta_ssh ~/.ssh/cripta_ssh
    chmod 600 ~/.ssh/cripta_ssh
  2. Conéctese:

    ssh -i ~/.ssh/cripta_ssh root@mail.sudominio.com
  3. Opcional — deje de escribir -i cada vez. Añada una entrada de host en ~/.ssh/config:

    Host mail.sudominio.com
      User root
      IdentityFile ~/.ssh/cripta_ssh

    A partir de ahí basta con ssh mail.sudominio.com.

Linux

Idéntico a macOS: OpenSSH viene preinstalado o está a un paquete de distancia (apt install openssh-client, dnf install openssh-clients, …).

  1. Mueva la clave y restrinja sus permisos:

    mkdir -p ~/.ssh
    mv ~/Downloads/cripta_ssh ~/.ssh/cripta_ssh
    chmod 600 ~/.ssh/cripta_ssh
  2. Conéctese:

    ssh -i ~/.ssh/cripta_ssh root@mail.sudominio.com
  3. Entrada opcional en ~/.ssh/config:

    Host mail.sudominio.com
      User root
      IdentityFile ~/.ssh/cripta_ssh

Windows

Windows 10 y 11 incluyen el cliente OpenSSH, así que puede hacerlo todo desde PowerShell: no hace falta PuTTY.

  1. Mueva la clave a su carpeta SSH:

    mkdir "$HOME.ssh" -Force
    Move-Item "$HOMEDownloadscripta_ssh" "$HOME.sshcripta_ssh"
  2. Restrinja sus permisos. OpenSSH en Windows también lo exige: el archivo solo debe poder leerlo su cuenta:

    icacls "$HOME.sshcripta_ssh" /inheritance:r /grant:r "$($env:USERNAME):R"
  3. Conéctese:

    ssh -i "$HOME.sshcripta_ssh" root@mail.sudominio.com

Si prefiere usar PuTTY, convierta cripta_ssh a un archivo .ppk con PuTTYgen (Load el archivo y después Save private key) y apunte PuTTY al .ppk en Connection → SSH → Auth.

Ahórrese el -i con ssh-agent

Si se conecta a menudo, cargue la clave una vez en su agente SSH y todos los comandos ssh la encontrarán automáticamente:

ssh-add ~/.ssh/cripta_ssh      # macOS / Linux

En Windows, arranque el agente una vez (Start-Service ssh-agent) y después ejecute ssh-add "$HOME\.ssh\cripta_ssh".

Cuando no funciona

Permission denied (publickey) — el servidor no ha aceptado su clave. Normalmente por una de estas razones:

  • La clave pública todavía no ha llegado al servidor. Los cambios se aplican en la siguiente comprobación programada de la máquina, así que deje pasar hasta unos 15 minutos desde que la añadió.
  • Ha apuntado -i al archivo equivocado, o al archivo .pub (público) en lugar de al privado. -i quiere la clave privada: el archivo sin .pub.
  • Está iniciando sesión con el usuario equivocado. Siempre es root@….

Unprotected private key file / bad permissions — otros pueden leer la clave. Vuelva a ejecutar el chmod 600 (macOS/Linux) o el comando icacls (Windows) de los pasos anteriores.

Host key verification failed / «REMOTE HOST IDENTIFICATION HAS CHANGED» — está viendo una huella digital de servidor distinta de la última vez. Es lo esperable si el servidor se ha reconstruido con el mismo nombre de host; elimine la entrada obsoleta y vuelva a conectarse:

ssh-keygen -R mail.sudominio.com

Si no esperaba que el servidor cambiase, deténgase y averigüe por qué antes de escribir yes: esta es justamente la advertencia que le protege de conectarse a un impostor.

Si pierde la clave

No existe un «restablecer» para una clave privada: solo estuvo en su máquina. Si la pierde, genere un par de claves nuevo, añada la nueva clave pública desde el panel de control y elimine la antigua. Mientras el acceso de soporte de cripta.to siga activo (o tenga otra clave que funcione), nunca se quedará fuera; ese es justamente el sentido de mantener una segunda vía de entrada hasta haber comprobado que la primera funciona.

  • #seguridad
  • #ssh
  • #propiedad