[opensuse-es] Conectar por ssh sin contraseña
Hola, tengo 3 servidores con SLES 10 dentro de mi red, lo que quiero hacer es ejecutar un script de copias manualmente en los 3 pero si es posible desde uno de ellos solamente, habia pensado en logearme desde el primero con un script en los otros 2 por ssh, pero pide contraseña. He visto en google que se puede hacer que no la pida generando una key con ssh-keygen y copiandola a los otros servidores por medio de ssh-copy-id, pero no consigo hacer que funcione porque me pide tipo de key y no sé que poner... http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-pas... ¿es posible hacerlo? ¿se podria hacer con telnet? Saludos. -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El día 12 de diciembre de 2012 08:46, SatOF
Hola, tengo 3 servidores con SLES 10 dentro de mi red, lo que quiero hacer es ejecutar un script de copias manualmente en los 3 pero si es posible desde uno de ellos solamente, habia pensado en logearme desde el primero con un script en los otros 2 por ssh, pero pide contraseña.
He visto en google que se puede hacer que no la pida generando una key con ssh-keygen y copiandola a los otros servidores por medio de ssh-copy-id, pero no consigo hacer que funcione porque me pide tipo de key y no sé que poner...
http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-pas...
¿es posible hacerlo? ¿se podria hacer con telnet?
El tipo de key es rsa (se lo decis con el parametro -t) Los comandos son: [ ! -e ~/.ssh/id_rsa.pub ] && ssh-keygen -t rsa ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.2 ssh root@192.168.0.2 y por telnet,no hay un "keygen", pero podes usar expect que automatiza sesiones. Permite hacer tareas automáticas sobre sesiones ssh,telnet,ftp,etc. (haciendo el login automático) saludos. -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
2012/12/12 SatOF
Hola, tengo 3 servidores con SLES 10 dentro de mi red, lo que quiero hacer es ejecutar un script de copias manualmente en los 3 pero si es posible desde uno de ellos solamente, habia pensado en logearme desde el primero con un script en los otros 2 por ssh, pero pide contraseña.
He visto en google que se puede hacer que no la pida generando una key con ssh-keygen y copiandola a los otros servidores por medio de ssh-copy-id, pero no consigo hacer que funcione porque me pide tipo de key y no sé que poner...
http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-pas...
¿es posible hacerlo? ¿se podria hacer con telnet?
Sí es posible. ¿Telnet? ... ¿Eso sigue vivo? ;) Pasos a seguir: 1.- crear el id en el servidor origen con ssh-keygen -t dsa -b 1024 (por ejemplo) 2.- cuando te pida passphrase, dale al [ENTER] para que quede en blanco. Ejemplo: # ssh-keygen -t dsa -b 1024 Generating public/private dsa key pair. Enter file in which to save the key (/root/.ssh/id_dsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_dsa. Your public key has been saved in /root/.ssh/id_dsa.pub. The key fingerprint is: 3.- copias el fichero ~/.ssh/id_dsa.pub al servidor destino. Ejemplo: scp ~/.ssh/id_dsa.pub servidor_remoto:/root/.ssh/authorized_keys En este paso te pedirá la contraseña ya que aún no tiene copiado el fichero. 4.- Ahora intentas un ssh y no te debería pedir clave. HTH Rafa -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El día 12 de diciembre de 2012 05:46, SatOF
Hola, tengo 3 servidores con SLES 10 dentro de mi red, lo que quiero hacer es ejecutar un script de copias manualmente en los 3 pero si es posible desde uno de ellos solamente, habia pensado en logearme desde el primero con un script en los otros 2 por ssh, pero pide contraseña.
He visto en google que se puede hacer que no la pida generando una key con ssh-keygen y copiandola a los otros servidores por medio de ssh-copy-id, pero no consigo hacer que funcione porque me pide tipo de key y no sé que poner...
http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-pas...
Estoy haciendo algunos respaldos con rsync hacia un NAS, con conexiones de confianza con SSH, tal como te lo han mencionado las configuraciones.
¿es posible hacerlo? ¿se podria hacer con telnet?
Saludos. -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
-- Saludos, cheperobert -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
On 12/12/2012 06:46 AM, SatOF wrote:
Hola, tengo 3 servidores con SLES 10 dentro de mi red, lo que quiero hacer es ejecutar un script de copias manualmente en los 3 pero si es posible desde uno de ellos solamente, habia pensado en logearme desde el primero con un script en los otros 2 por ssh, pero pide contraseña.
He visto en google que se puede hacer que no la pida generando una key con ssh-keygen y copiandola a los otros servidores por medio de ssh-copy-id, pero no consigo hacer que funcione porque me pide tipo de key y no sé que poner...
http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-pas...
¿es posible hacerlo? ¿se podria hacer con telnet?
Saludos. Siempre lo he echo usando esta doc y me funciona a la perfección:
Identificación del cliente mediante clave pública El cliente puede identificarse mediante clave pública, sin password. Para ello: - creamos en el cliente una clave RSA: francis@asterix:~$ ssh-keygen -t rsa -f ~/.ssh/id_rsa (deja la frase vacía) - activamos ssh-agent en el cliente para que no nos pida la pass-phrase: francis@asterix:~$ eval `ssh-agent -s` Agent pid 12297 francis@asterix:~$ ssh-add Enter passphrase for /home/francis/.ssh/id_rsa: Identity added: /home/francis/.ssh/id_rsa (/home/francis/.ssh/id_rsa) - copiamos en el servidor la clave pública (~/.ssh/id_rsa.pub): francis@asterix:~$ scp ~/.ssh/id_rsa.pub mario@obelix:~/.ssh/id_rsa.pub - la añadimos en el servidor al final del fichero ~/.ssh/authorized_keys: mario@obelix:~$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys - y comprobamos que podemos iniciar una sesión SSH sin password ni pass-phrase: francis@asterix:~$ ssh mario@obelix mario@obelix:~$ Ejecutar un comando remoto con SSH En vez de obtener un shell en la máquina remota, podemos simplemente ejecutar un comando en ella. Para ello, usaremos el cliente SSH con la siguiente sintaxis: $ ssh usuario@servidor "comando" 10mo. ANIVERSARIO DE LA CREACION DE LA UNIVERSIDAD DE LAS CIENCIAS INFORMATICAS... CONECTADOS AL FUTURO, CONECTADOS A LA REVOLUCION http://www.uci.cu http://www.facebook.com/universidad.uci http://www.flickr.com/photos/universidad_uci -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El mié, 12-12-2012 a las 12:46 +0100, SatOF escribió:
Hola, tengo 3 servidores con SLES 10 dentro de mi red, lo que quiero hacer es ejecutar un script de copias manualmente en los 3 pero si es posible desde uno de ellos solamente, habia pensado en logearme desde el primero con un script en los otros 2 por ssh, pero pide contraseña.
* Lo de utilizar llaves ssh sin contraseña es una cuestion menor, lo primero que tienes que aclarar es que hacen los scripts, por ejemplo no es lo mismo ni seria conveniente la misma táctica para ejecutarlos, el que esos scripts hagan un backup local, cron y at tambien existen, es decir a un directorio de la propia maquina a que tengan que enviarlo fuera, es decir el comando que se ejecutaria por ssh puede requerir enviar la tarea a background ya sea con nohup u otra tactica y salir. * Puedes querer hacer la copia desde la maquina1, ya sea con tar, rsync sobre ssh es decir (absorver los datos de maquina2 y 3 a la 1, etc) con lo cual no habria que ejecutar ningun script en maquina2 y 3. * En fin, ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/usuario/.ssh/id_rsa):/home/usuario/.ssh/LlaveBackup_rsa Enter passphrase (empty for no passphrase): (aqui intro sin contraseña) * En el directorio /home/usuario/.ssh/ se habra creado dos ficheros LlaveBackup_rsa y LlaveBackup_rsa.pub y el algoritmo de cifrado rsa o dsa en principio no tiene mayor importancia yo uso generalmente rsa. * Debes exportar a maquina 2 y 3 la llave publica, al usuario al que vayas a conectarte en maquina2 y 3 por ejemplo root o al que pueda hacer las copias: ssh-copy-id -i ~/.ssh/LlaveBackup_rsa.pub root@maquina2 y 3. * A partir de aqui usaras la privada para autenticarte. ssh -i ~/.ssh/LlaveBackup_rsa -l root maquina2 y 3 * Con ssh puedes ejecutar el script en cuestion remotamente: ssh -i ~/.ssh/LlaveBackup_rsa -l root maquina2 "/root/ScriptBackup.sh" * Pero como te digo en el primer parrafo la cosa puede requerir mejores opciones, ejemplo: ssh -i ~/.ssh/LlaveBackup_rsa -q -o "BatchMode=yes" \ root@maquina1 /root/ScriptBackup.sh >/dev/null 2>&1 * Asi que lo de las llaves es una cuestion complementaria dependiendo de los que necesiten los scripts. * Tambien se pueden ejecutar ordenes ssh en maquinas remotas de forma desatendida con par de llaves CON contraseña (ssh-agent). * En cualquier caso si vas ejecutar tu la orden ssh ¿por que quieres sin contraseña? y si se va a ejecutar de forma desatendida, ¿por que no usas cron en las maquinas para ejecutar las ordenes?, si solo es por no teclear la contraseña .... * PAC y clusterssh permiten manejar muchas maquinas simultaneamente, para 2 no merece la pena. -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El 12/12/2012 12:46, SatOF escribió:
Hola, tengo 3 servidores con SLES 10 dentro de mi red, lo que quiero hacer es ejecutar un script de copias manualmente en los 3 pero si es posible desde uno de ellos solamente, habia pensado en logearme desde el primero con un script en los otros 2 por ssh, pero pide contraseña.
He visto en google que se puede hacer que no la pida generando una key con ssh-keygen y copiandola a los otros servidores por medio de ssh-copy-id, pero no consigo hacer que funcione porque me pide tipo de key y no sé que poner...
http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-pas...
¿es posible hacerlo? ¿se podria hacer con telnet?
Saludos. Hola, he estado unos dias enfermo y no he podido ver el correo... Gracias a todos por las respuestas y lo voy a probar. Saludos. -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El 12/12/2012 12:46, SatOF escribió:
Hola, tengo 3 servidores con SLES 10 dentro de mi red, lo que quiero hacer es ejecutar un script de copias manualmente en los 3 pero si es posible desde uno de ellos solamente, habia pensado en logearme desde el primero con un script en los otros 2 por ssh, pero pide contraseña.
He visto en google que se puede hacer que no la pida generando una key con ssh-keygen y copiandola a los otros servidores por medio de ssh-copy-id, pero no consigo hacer que funcione porque me pide tipo de key y no sé que poner...
http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-pas...
¿es posible hacerlo? ¿se podria hacer con telnet?
Saludos. Objetivo cumplido, ya me funciona correctamente. El motivo de no usar crontab es por que quiero ejecutarlo seguido en los 3 manualmente. He probado tambien a hacer copias por medio de rsync como sugeriais y esta muy bien, hasta ahora utilizaba un servidor nfs.
Gracias. -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
participants (6)
-
Amaury Viera Hernández
-
cheperobert
-
Flako
-
jose maria
-
Rafa Griman
-
SatOF