¿Cómo hacer SSH a un servidor remoto usando una clave privada?

Pregunta:

Tengo dos servidores. Ambos servidores están en CentOS 5.6. Quiero SSH del servidor 1 al servidor 2 usando una clave privada que tengo (clave privada OpenSSH SSH-2).

No sé cómo hacerlo en Unix. Pero lo que hice en Windows usando Putty fue alimentar mi clave privada OpenSSH a putty-gen y generar una clave privada en formato PPK.

Sin embargo, estaría creando un script bash desde el servidor 1 que ejecutará algunos comandos en el servidor 2 a través de SSH.

¿Cómo hago SSH al servidor 2 usando mi archivo de clave privada del servidor 1?

Respuesta:

Necesita su clave pública SSH y necesitará su clave privada ssh. Las claves se pueden generar con ssh-keygen . La clave privada debe guardarse en el servidor 1 y la clave pública debe almacenarse en el servidor 2.

Esto se describe completamente en la página de manual de openssh, por lo que citaré mucho. Debe leer la sección 'Autenticación'. Además, el manual de openSSH debería ser realmente útil: http://www.openssh.org/manual.html

Tenga cuidado con ssh porque esto afecta la seguridad de su servidor.

Desde man ssh :

 ~/.ssh/identity
 ~/.ssh/id_dsa
 ~/.ssh/id_rsa
     Contains the private key for authentication.  These files contain
     sensitive data and should be readable by the user but not acces-
     sible by others (read/write/execute).  ssh will simply ignore a
     private key file if it is accessible by others.  It is possible
     to specify a passphrase when generating the key which will be
     used to encrypt the sensitive part of this file using 3DES.

 ~/.ssh/identity.pub
 ~/.ssh/id_dsa.pub
 ~/.ssh/id_rsa.pub
     Contains the public key for authentication.  These files are not
     sensitive and can (but need not) be readable by anyone.

Esto significa que puede almacenar su clave privada en su directorio personal en .ssh. Otra posibilidad es decirle a ssh a través del parámetro -i que use un archivo de identidad especial. También de man ssh :

 -i identity_file
     Selects a file from which the identity (private key) for RSA or
     DSA authentication is read.  The default is ~/.ssh/identity for
     protocol version 1, and ~/.ssh/id_rsa and ~/.ssh/id_dsa for pro-
     tocol version 2.  Identity files may also be specified on a per-
     host basis in the configuration file.  It is possible to have
     multiple -i options (and multiple identities specified in config-
     uration files).

Esto es para la clave privada. Ahora debe introducir su clave pública en el servidor 2. Nuevamente, una cita de man ssh :

  ~/.ssh/authorized_keys
         Lists the public keys (RSA/DSA) that can be used for logging in
         as this user.  The format of this file is described in the
         sshd(8) manual page.  This file is not highly sensitive, but the
         recommended permissions are read/write for the user, and not
         accessible by others.

La forma más fácil de lograrlo es copiar el archivo al Servidor 2 y agregarlo al archivo Authorized_keys:

scp -p your_pub_key.pub user@host:
ssh user@host
host$ cat id_dsa.pub >> ~/.ssh/authorized_keys

Se debe permitir la autorización mediante clave pública para el demonio ssh, consulte man ssh_config . Por lo general, esto se puede hacer agregando la siguiente declaración al archivo de configuración:

PubkeyAuthentication yes

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım