Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Foros Linux » Administración del sistema » Sistema


Nuevo tema Responder al tema
 [ 11 mensajes ] 
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Mié Abr 28, 2004 11:00 pm
Mensajes: 358

Nota Publicado: Jue Nov 10, 2011 2:08 pm 
Arriba  
Tengo un repo en GIT ya funcionando y todo, pero debido a que no tengo ya tiempo de estar tipeando en consola hacerle push de mis actualizaciones, me estoy intentando hacer un script para que lo ejecute cron cada ma~ana antes de llegar al trabajo, pero me topo con el problema que no logro meter el password :(....

Este es mi script:

Código:
cd /home/user/mi_proyecto/
git push miusuario@localhost:/mnt/respaldos/git/mi_proyecto master



Pero como han de saber, si ejecuto el segundo comando (de los que puse arriba), me pide password para autentificar y después hacer push... Y obviamente, si CRON ejecuta el script no puede meter el password, por lo cual, JAMAS se actualiza el repo...

Alguna idea ?

Saludos !

 Perfil Email WWW  

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Dom Sep 05, 2010 8:30 pm
Mensajes: 398

Nota Publicado: Jue Nov 10, 2011 3:27 pm 
Arriba  
Usa llaves públicas.

Te dejo a tí que lo investigues, pero básicamente es generar una llave y copiarla en $HOME/.ssh/authorized_keys en el servidor.

_________________
scrotwm@FreeBSD
pekwm@Sabayon
::vim::zsh::urxvtd|blog::dotfiles::last.fm

 Perfil Email  

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Mié Abr 28, 2004 11:00 pm
Mensajes: 358

Nota Publicado: Jue Nov 10, 2011 6:24 pm 
Arriba  
ramonovski escribió:
Usa llaves públicas.

Te dejo a tí que lo investigues, pero básicamente es generar una llave y copiarla en $HOME/.ssh/authorized_keys en el servidor.



Principalmente gracias por tu respuesta....

Fijate que ya intente con las claves ya que el metodo de hacer push es mediante SSH, por eso la autentificacion (creo).... El punto es que, no logro omitir la peticion de clave porque el servidor donde subo mis actualizaciones es el mismo servidor donde se esta trabajando...

Vaya el servidor con ip 192.168.1.1, se conectan via FTP y suben los cambios del codigo....
Dentro del servidor con ip 192.168.1.1 existen 2 discos duros: dico duro 1 es donde esta /home/, y disco duro 2 es donde esta /mnt/backups/proyectos/

Asi que el uso del GIT es mas para hacer un respaldo de TODO lo que se hace en los /home/ y mantenerlo en /mnt/backups/proyectos/, por lo cual la idea es que usando un script este se coloque en el directorio /home/ y haga el push, todo mediante CRON.

Porr ejemplo, me logeo al servidor con ip 192.168.1.1 como ROOT y corro el script /etc/init.d/update...

# contenido de /etc/init.d/update
Código:
cd /home/
git push root@localhost:/mnt/backups/proyectos master


Veo que en la consola sale pidiendo esto:
Código:
Password:


Despues, intentando solucionar el problema, configuro la autentificacion automatica asi:

Código:
shell#ssh-keygen -b 4096 -t rsa
shell# ssh-copy-id root@localhost


Y vuelvo a correr el script /etc/init.d/update, y ahora sale en el prompt:

Código:
Enter the phassphrade:  (la escribo)
Password:


Que puedo hacer ?

 Perfil Email WWW  

Desconectado
Forista Mayor
Forista Mayor

Registrado: Vie Ago 24, 2007 11:00 pm
Mensajes: 794
Ubicación: Galicia - España

Nota Publicado: Vie Nov 11, 2011 5:03 am 
Arriba  
Me parece que tienes puesto que ssh te pida la contraseña del depósito de claves.

Al margen de eso, la idea de hacer un push automático no me parece una práctica muy recomendable. Si tus compañeros hacen cambios y tu haces push sin hacer un pull previo y resolver los conflictos pueden acabar montándose lios bastante gordos.

No, creo que hacer git push consuma tanto tiempo...

_________________
Mi blog: Conocimiento Abierto

 Perfil WWW  

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Mié Abr 28, 2004 11:00 pm
Mensajes: 358

Nota Publicado: Vie Nov 11, 2011 6:07 am 
Arriba  
fpuga escribió:
Me parece que tienes puesto que ssh te pida la contraseña del depósito de claves.

Al margen de eso, la idea de hacer un push automático no me parece una práctica muy recomendable. Si tus compañeros hacen cambios y tu haces push sin hacer un pull previo y resolver los conflictos pueden acabar montándose lios bastante gordos.

No, creo que hacer git push consuma tanto tiempo...


No es inseguro.... ya que el push se hace en un horario de madrugada, para que cuando lleguen todos, el disco duro 2 (/mnt/backups/proyectos), ya tiene actualizado el repo de las sesiones en /home/ (disco duro 1).

La gente solamente trabaja en su sesion (/home/__User__/) y el unico que hace "push" es /etc/init.d/update.

Saludos !

 Perfil Email WWW  

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Sab Sep 15, 2007 11:00 pm
Mensajes: 283

Nota Publicado: Vie Nov 11, 2011 2:54 pm 
Arriba  
Investiga hacer lo siguiente
1.- Instalar sudo
2.- editar /etc/sudoers y así agregar una entrada a tu script que sería del tipo
tu_usuario tu_equipo=NOPASSWD: ruta_absoluta_a_tu_script
3.- A partir de ahora podrás ejecutar el script sin que te pida contraseña , mediante
sudo bash ruta_absoluta_al_script

 Perfil  

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Dom Sep 05, 2010 8:30 pm
Mensajes: 398

Nota Publicado: Vie Nov 11, 2011 3:42 pm 
Arriba  
^ El password es del repositorio, no del sistema =P

Diabliyo: Revisa este link: http://superuser.com/questions/338511/h ... -push-pull

No le veo inconveniente alguno que el mismo servidor en el que se esté trabajando sea el mismo que esté almacenando el repositorio.
Lo otro sería armar un script con la siempre útil herramienta rsync.

_________________
scrotwm@FreeBSD
pekwm@Sabayon
::vim::zsh::urxvtd|blog::dotfiles::last.fm

 Perfil Email  

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Mié Abr 28, 2004 11:00 pm
Mensajes: 358

Nota Publicado: Vie Nov 11, 2011 7:42 pm 
Arriba  
ramonovski escribió:
^ El password es del repositorio, no del sistema =P

Diabliyo: Revisa este link: http://superuser.com/questions/338511/h ... -push-pull

No le veo inconveniente alguno que el mismo servidor en el que se esté trabajando sea el mismo que esté almacenando el repositorio.
Lo otro sería armar un script con la siempre útil herramienta rsync.



Ya segui los pasos como lo indica el enlace y sigue el mismo problema...

Despues de generar la clave RSA e incorporarla a .ssh/authorized_keys, hago push y me sale esto:

Código:
# consola del server, como root
shell# git push root@localhost:/mnt/backups/git/respaldos master
Enter passphrase for key '/root/.ssh/id_rsa':
Everything up-to-date
shell#


Me pide el "passphrase", que es casi lo mismo que poner el pass, ya que desde un script no puedo meter el texto :(

Saludos !

 Perfil Email WWW  

Desconectado
Forista Distinguido
Forista Distinguido
Avatar de Usuario

Registrado: Sab Oct 09, 2004 11:00 pm
Mensajes: 1299

Nota Publicado: Vie Nov 11, 2011 7:53 pm 
Arriba  
Cuando generes las llaves, no pongas clave ni passphrase.

Alcanza con tener la llave, si además dices que te estás logueando en localhost, ¿para qué tanta preocupación con la passphrase? Sólo faltaría que te pusieras un firewall a tí mismo.

 Perfil  

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Mié Abr 28, 2004 11:00 pm
Mensajes: 358

Nota Publicado: Vie Nov 11, 2011 8:14 pm 
Arriba  
neurus escribió:
Cuando generes las llaves, no pongas clave ni passphrase.

Alcanza con tener la llave, si además dices que te estás logueando en localhost, ¿para qué tanta preocupación con la passphrase? Sólo faltaría que te pusieras un firewall a tí mismo.


YA QUEDO xD....

Vuelvo a hacer todo.. les muestro paso a paso:

abro shell del server como root
Código:
shell# cd /root/.ssh/
shell# echo "" > id_rsa
shell# echo "" > id_rsa.pub
shell# echo "" > authorized_keys
shell# echo "" > know_hosts

shell# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase): [PULSO ENTER]
Enter same passphrase again: [PULSO ENTER]
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx root@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
|            E+.. |
..................
+-----------------+


Desde este punto el archivo authorized_keys esta vacio... los otros contienen informacion....

Continuando.... pero aun pide password :(
Código:
# probando el push
shell# cd /home/
shell# git push root@localhost:/mnt/backups/git/respaldos master
root@localhost's password:
Everything up-to-date


agrgando a "authorized_keys
Código:
shell# cd /root/.ssh/
shell# cat id_rsa.pub >> authorized_keys

# probando conexion otra vez
shell# git push root@localhost:/mnt/backups/git/respaldos master
Everything up-to-date


Saludos !

 Perfil Email WWW  

Desconectado
Moderador
Moderador
Avatar de Usuario

Registrado: Dom Abr 18, 2010 4:30 pm
Mensajes: 2790
Ubicación: En una de las nalgas del culo del mundo (según la Bersuit Vergarabat)

Nota Publicado: Mié Nov 16, 2011 5:38 pm 
Arriba  
Diabliyo si consideras que el tema fue resuelto por favor edita el primer post y agrégale al título (SOLUCIONADO) para que la ayuda que recibiste le sea útil a a otros usuarios también, mediante el uso del buscador. Gracias.

_________________
... reinstalar un SO cuando produce un error es como tirar un bebe a la basura cuando se hace caca..

Trusted Network and Developer | Reglamento General de los Foros |WIKI-EL | Twitter @SISIAM
Debian| ArchLinux |Linux User #508809

 Perfil WWW  
Mostrar mensajes previos:  Ordenar por  
 [ 11 mensajes ] 
Nuevo tema Responder al tema

Saltar a:  


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC - 6 horas
Traducción al español por Huan Manwë
phpBB SEO