script ssh

Juan Jesús Ojeda Croissier juanje.ojeda en gmail.com
Dom Ene 10 13:39:59 GMT 2010


2010/1/10 eva <evammg en gmail.com>:
> 2010/1/7 Maykel Franco Hernández <maykel en maykel.es>:
>>> From: Maykel Franco Hernández <maykel en maykel.es>
>>> Date: 2010/1/5
>>> To: ubuntu listas <ubuntu-es en lists.ubuntu.com>
>>>
>>> Hola buenas ubunteros, necesito un script que al ejecutarlo suba un
>>> archivo por ssh a otro servidor que dispone de ssh.
>>>
>>> Sería tal que así:
>>>
>>> #! /bin/bash
>>>
>>> scp archivo.txt dominio:/datos
>>>
>>>
>>> El problema esta en que al ejecutar ese comando en consola me pide una
>>> clave evidentemente de ssh del servidor ssh remoto, mi duda es, como hago
>>> para introducir la contraseña en el script??
>>>
>>> ----------
>>> From: David Ballester <ballester.david en gmail.com>
>>> Date: 2010/1/5
>>> To: Maykel Franco Hernández <maykel en maykel.es>
>>> Cc: ubuntu listas <ubuntu-es en lists.ubuntu.com>
>>>
>>> El 5 de enero de 2010 11:04, Maykel Franco Hernández
>>> <maykel en maykel.es> escribió:
>>> busca en google
>>>
>>> ssh sin password
>>>
>>>
>>> Muy buenas, feliz año ubuntero. Yo tambien os he echado de menos...
>>> ayyy qué me pongo sentimental!!! ^^ Aquí estoy de nuevo después de un
>>> pequeño receso.
>>>
>>> Y bien, al turrón!!:
>>>
>>> Para entrar sin contraseña, tienes que exportar la clave pública de tu
>>> máquina a la otra.
>>>
>>> Create las claves en tu máquina. En un Terminal:
>>>
>>> $ cd
>>> $ cd .ssh/
>>> $ ssh-keygen
>>>
>>>  en la máquina origen.
>>>
>>> Dale a todo a intro para que se quede por defecto sin poner passphrase ni
>>> nada.
>>>
>>> Se crean dos archivos: id_rsa e id_rsa.pub.
>>>
>>> Copia el archivo id_rsa.pub que contiene la clave pública a la máquina
>>> destino.
>>>
>>> En la máquina destino: editar el archivo
>>>
>>> ./ssh/known_hosts
>>>
>>> y copiar ahí la clave pública rsa de la otra máquina.
>>>
>>> Ahora prueba el ssh. Sólo la primera vez te preguntara para confirmar
>>> que acepta una nueva clave, y le dices "Yes".
>>>
>>> Listo. Espero te sirva.
>>>
>>> Saludos ubunteros.
>>>
>>> --
>
>> Gracias por contestar eva pero no me ha funcionado eso que me has dicho.
>> He hecho paso a paso todo, he generado las llaves en el cliente y la
>> publica la he pasado al destino en .ssh/. Posteriormente he copiado la
>> clave publica del cliente al known_hosts del servidor destino con cat
>> id_rsa.pub >> known_hosts . Y finalmente he reiniciado el ssh
>> /etc/init.d/ssh restart pero me sigue pidiendo la clave.
>>
>>
>>
>
> Se me cruzaron los cables: "known_hosts" no es el archivo para el
> ssh..... , es "authorized_keys".

Una opción más sencilla (aunque hace lo prácticamente mismo) para
copiar la clave pública y demás es:

$ ssh-copy-id usuario en maquina_de_destino

Eso copiará la clave pública en el sitio correcto y demás.

Un saludo :-)

-- 
Juanje



Más información sobre la lista de distribución ubuntu-es