¿Cómo enviar ssh al server remoto usando una key privada?

Tengo dos serveres. Ambos serveres están en CentOS 5.6. Quiero SSH del Servidor 1 al Servidor 2 usando una key privada que tengo (OpenSSH SSH-2 Clave privada).

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

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

¿Cómo puedo SSH al Servidor 2 usando mi file de key privada del Servidor 1?

Necesitas tu key pública SSH y necesitarás tu key privada ssh. Las keys se pueden generar con ssh_keygen . La key privada debe mantenerse en el Servidor 1 y la key pública debe estar almacenada en el Servidor 2.

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

Tenga cuidado con ssh porque esto afecta la security de su server.

De 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 key privada en su directory personal en .ssh. Otra posibilidad es decirle a ssh a través del parámetro -i cambiar para usar un file 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 key privada. Ahora debe introducir su key pública en el Servidor 2. De nuevo, 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 manera más fácil de lograr eso es copyr el file al Servidor 2 y anexarlo al file authorized_keys:

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

La autorización mediante key pública debe estar permitida para el daemon ssh, ver man ssh_config . Por lo general, esto se puede hacer agregando la siguiente statement al file de configuration:

 PubkeyAuthentication yes 

Lo primero que debe hacer es asegurarse de haber ejecutado el command keygen para generar las keys:

 ssh-keygen -t rsa 

Luego use este command para presionar la tecla hacia el server remoto, modificándola para que coincida con su nombre de server.

 cat ~/.ssh/id_rsa.pub | ssh user@hostname 'cat >> .ssh/authorized_keys' 

usé ssh con la opción -i para agregar tu key aquí.

si quieres pasar arg1, arg2 con el file .sh simplemente pásalo después del espacio de uso del file .sh para separarlo.

ssh -i home/avr/new.pem ar@231.221.54.8 "/var/www/beta/betatolive.sh mmin 30"

Agregue la key pública ( id_[rd]sa.pub ) para su máquina de origen (desde donde está transfiriendo) al file ~/.ssh/authorized_keys del server de destino para el nombre de usuario al que desea enviar ssh. Si perdió la key pública, querrá crear una nueva con ssh-keygen . Usar los arguments pnetworkingeterminados para eso debería estar bien para la mayoría de los propósitos. Si necesita instrucciones más detalladas, hay miles de tutoriales que puede search en google.