Git clone probléma

Fórumok

Sziasztok!

Újra kellett húzni a testvérem Win10-es gépét, amire git is lett rakva. Már rengetegszer telepítettem git-et, eddig soha nem volt gondom a beállításokkal.

Azokhoz a repókhoz, amikkel dolgozik, be van állítva egy group, aminek a tagja. Ez nem változott. A userprofile /.ssh mappába le van generálva a publikus és privát kulcs id_rsa és id_rsa.pub néven (default nevek) A távoli repónál fel van véve a publikus kulcs. A Win10-es gépen a rendszerváltozóknál a path alá fel van véve a Program Files\git\bin és a Program Files\git\usr\bin. Ezt mindig így szoktam.

 

git clone ssh://... kiadása után ezt kapom:
git@git.domain.hu: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

 

A hibaüzenet teljesen félrevezető, mert itt azt írja, hogy nincs engedélyem. Ez a következők miatt valótlan:

1. Ahogy fent is írtam, a repo létezik, minden jogosultságom be van állítva.

2.  Egy másik, régebben telepített Win10-es gépen tudok ugyaninnen klónozni. 

3.  Ha nem a git-scm.com-ról leszedett git-et akarom használni azon a gépen, ahol a hibát kapom, akkor működik a git clone parancs. Ezt úgy valósítom meg, hogy a környezeti változóknál a felhasználói változók alá felveszek egy GIT_SSH nevű változót, aminek az értéke a C:\Windows\system32\openssh\ssh.exe lesz. De! Ha az értéket átírom pl. C:\program files\Git\usr\bin\ssh.exe-re és úgy nyitok egy új terminalt, akkor megint nem megy, és a fenti hiba van.

 

Változtattak valamit mostanában a Windowsnál, ami miatt nem engedi? Régen nem kellett semmit sem trükközgetni, a fent leírtak után elsőre ment. Van esetleg ötletetek, hogy mi okozhatja a hibát? Ha futottatok bele ti is, akkor milyen megoldást preferáltok? Most nincs előttem a gép, de gondolkoztam még olyanon, hogy a GIT_EXEC_PATH, vagy home változókkal is játszadozok. Talán az megoldja. Eléggé zavaró, ha egy évek óta bejáratott settings jól működik, akkor az MS milyen megalapozott indokkal rondított ebbe bele?

Hozzászólások

Lehet, hogy az egyik ssh újabb fájlformátumát nem ismeri a másik ssh?

Az ssh-keygen manualjaban leírja, hogy többféle privátkulcs-formátum van, olyasmi neveken, hogy 'PEM', 'RFC4716', 'PKCS8', ezek az első sorból beazonosíthatók, pl.:

PEM: "RSA PRIVATE KEY", "EC PRIVATE KEY", ...
PKCS8: "PRIVATE KEY" vagy "ENCRYPTED PRIVATE KEY"
RFC4716: "OPENSSH PRIVATE KEY"

Az ssh-keygen konvertálni is tud, hogy pl.:

cp prvkey prvkey-pem                            # először lemásoljuk
ssh-keygen -N '' -p -m PEM -f prvkey-pem        # helyben konvertálunk PEM-re

Köszönöm, így már érhető, amit írtál. Ez egy standard RSA privát kulcs -----BEGIN RSA PRIVATE KEY----- kezdettel és -----END RSA PRIVATE KEY----- lezárással. Semmi újítást nem csináltam a kulcs generálásánál a korábbiakhoz képest. Régebben simán megette ebben a formában, most meg nem tudom mi a gondja vele. Minden más OS-nél is így szoktam csinálni. Linuxnál max. annyi az eltérés, hogy -f után meg szoktam adni neki, hogy hova tegye. De WIN-nél soha nem kellett más. A default user profile /.ssh alá rakja ilyen esetben. 1 próbát megér a konverzió, de van egy olyan megérzésem, hogy nem ez lesz a megoldás.

mindig ezzel szoktam kezdeni, ezután könnyebb elindulni:

git clone git@git.domain.com:repo.git -vvv

4 és fél éve csak vim-et használok. elsősorban azért, mert még nem jöttem rá, hogy kell kilépni belőle.

Nem tudok segíteni, de azta kurva! Ez lenne hát a Windows Desktop? Mi ez a takonyolás már? Még mindig nincs csomagkezelő benne?

Szerintem nem a Windows, hanem az openssh rondított bele.

A kb. október vége óta a Windowsos git kliensben lévő legújabb openssh nem szereti már a régebben generált RSA kulcsokat, hogy pontosan milyet és miért, azt 1 perc alatt nem sikerült megértenem, úgyhogy hagytam a francba és generáltam ed25519 formátumú új kulcsot.