Git en PC público

Boiisxu

Buenas.

Me interesa usar git y github en un PC público, básicamente del centro donde estudio, para así llevar un buen control del temario y del avance que vaya haciendo.

De primeras había pensado en usar un usb y crear un repositorio bare y hacer pull/push desde el PC y luego, una vez en casa hacer push desde el usb a github. Sin embargo, creo que utilizar ssh keys para autentificarme en github sería una opción más rápida y cómoda pero hay varios problemas.

1.- Los ordenadores están congelados y creo que ./ssh/config está en C:\ por lo que no podría cambiar la dirección de las keys a D:\ el cual no está congelado.

2.- La idea es tener todo seguro porque los ordenadores son públicos así que había pensado en dejar la clave privada en el ordenador, subir la pública a mi cuenta de github y luego llevar la privada en el pendrive e ir poniéndola en la carpeta cada vez. ¿Cómo lo véis?

No sé si hay alguna otra manera más sencilla de hacer esto.

Muchas gracias.

Martita-

No os dejan usar vuestros propios peceses??

1 respuesta
djamb

Puedes subir a github sin ssh key. Cuando pusheas te pide user y pass...

2 respuestas
Boiisxu

#3 Sí pero mis pass son de 40 caracteres y es un coñazo el tener que escribirla cada vez.
#2 No tengo portátil.

VonRundstedt

#3 Desde el mes pasado ya no se puede con user y pass. O por lo menos a mi de repente me forzó a hacerme una ssh linkeandome a un artículo que habían cambiado su política blablab

1 respuesta
cabron

no creo que windows sea tan pestoso como para no dejarte elegir la ruta de la clave ssh para un repo concreto igual que puedes hacer en linux, la puedes tener en un pendrive y no copiarla nunca a ese ordenador

desu

Utiliza ssh agent.

https://docs.github.com/es/github/authenticating-to-github/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

Por ejemplo, guarda tu key privada de acceso a github en \~/docs/github

Cargala a tu agent con ssh-add -K \~/docs/github

Recuerda que la key privada necesita permisos especiales, 400 o 600 creo, o no te dejara usarla.

1 respuesta
Boiisxu

#7 Mmm pero /docs/github debe estar en D:\, ¿no?

Osea tendría que hacer esos dos pasos de copiar la privatekey y ejecutar el comando cada vez, ¿cierto?

Gottix

Quizás puedas usar Cmder que es una consola portable que viene con varias herramientas y una de ellas es Git.

1 respuesta
Gottix

#5 a ti y a todos esta deprecated entrar con user pass, ahora es necesario crear un token y darle diferentes permisos.

Boiisxu

#9 Git lo tiene instalado, entiendo que con cmdr podría tener la clave en el pendrive y hacer push desde ahí, ¿no?

1 respuesta
Gottix

#11

Eso es lo que tiene Cmder para git.

Pruébalo en casa o en una MV pero debería ir todo ok.

cabron

a ver tu llevas tu pendrive con tu clave pública y privada, pongamos que estla en K, y tu tienes tus claves en K:\ssh pues haces esto:

cd K:
giit init mi_repo
cd mi_repo
git config -local core.sshCommand "ssh -i k:\ssh\id_rsa"
git add remote "la ruta mi_repo en github"

y ahora cada vez que hagas git push o git pull lee tus claves desde el pendrive y el repo con todo su contenido lo tienes en el pendrive y nunca metes nada en el disco de ese ordenador que no es tuyo.

ya te digo que en linux eso funciona, en windows supongo que debería también pero ni zorra

1 2 respuestas
JuAn4k4

Puedes probar con https://github.com/DamnedFacts/ssh-fob

Boiisxu

#13 Vale funciona, mañana probaré en el ordenador de allí.

Allá me creo la key privada y la pública, las muevo al usb subo la pública y listo, ¿Verdad?

Muchas gracias por la ayuda.

1 respuesta
Kaledros

Y sobre todo nunca, nunca, nunca, NUNCA metas en tu pc de casa un pendrive que hayas metido en una clase de instituto. Nunca es NUNCA. Si lo vas a usar que sea sólo en el pc de clase.

1
cabron

#15

no es necesario que crees las claves allí, las puedes crear en tu casa y simplemente llevar el pendrive con las claves, de hecho lo podrías hacer todo ya todo desde tu casa incluido iniciar el repostiorio, pero tengo dudas con esto:

git config -local core.sshCommand "ssh -i k:\ssh\id_rsa"

si lo haces desde casa es probable que la unidad para el pendrive sea distinta a la que te asigne en el otro ordenador, y tendrías que configurar una ruta relativa rollo "..\ssh\id_rsa" pero no sé si para que te funcione con windows necesitas poner la ruta completa incluyendo la unidad. En teoría debería funcionar con ruta relativa pero como no tengo un windows para probarlo pues preferio no mojarme a decirte que sí, por que estas son las típicas mierdas que asumes que funcionan y luego resulta que no

1 respuesta
desu
#17cabron:

si lo haces desde casa es probable que la unidad para el pendrive sea distinta a la que te asigne en el otro ordenador

exacto

le puede pasar que cambie el path donde monta el disco y tener que re ejecutar esa linea

pero es una buena metodologia la que propones, yo te haria caso a ti

12 días después
Boiisxu

Lo de #13 funciona perfecto, el único problema es que cada vez que hago un push me pide el passphrase de la clave. He leído que la única forma de evitar que esto ocurra es añadiéndola mediante

Once you have started the SSH agent with:

eval $(ssh-agent)
Do either:

To add your private key to it:

 ssh-add
This will ask you your passphrase just once, and then you should be allowed to push, provided that you uploaded the public key to Github.

To add and save your key permanently on macOS:

 ssh-add -K  
This will persist it after you close and re-open it by storing it in user's keychain. To add and save your key permanently on Ubuntu (or equivalent): ssh-add ~/.ssh/id_rsa

Entiendo que no es lo más óptimo ni seguro por lo que tendré que seguir poniéndola a mano, ¿verdad?

Usuarios habituales

  • Boiisxu
  • desu
  • cabron
  • JuAn4k4
  • Gottix
  • VonRundstedt
  • djamb