Po upgrade SSH sa môžete stretnúť s nasledujúcim problémom. Príkaz git clone skončí s návratovým kódom 255 a chybovým hlásením:
Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
Toto sa mi stalo po upgrade Linux Mint z verzie 17 na verziu 18.
Ako diagnostikovať takýto problém s Gitom?
Spustite nasledujúci príkaz:
ssh -v git@github.com
Uvidíte množstvo riadkov logu a jeden z nich typicky obsahuje príčinu problému. V mojom prípade to bolo:
... debug1: SSH2_MSG_NEWKEYS received debug1: Skipping ssh-dss key ~/.ssh/id_dsa - not in PubkeyAcceptedKeyTypes ...
DSA kľúče boli totiž v SSH 7 zablokované. Riešenie spočíva vo vygenerovaní nového kľúča iného typu, napríklad RSA.
ssh-keygen -t rsa cat ~/.ssh/id_rsa.pub
Potom stačí vymeniť kľúč na GitHub-e za nový. Môžete znova spustiť “ssh -v” pre diagnostiku, či sa komunikácia so serverom podarila:
PTY allocation request failed on channel 0 Hi georgik! You've successfully authenticated, but GitHub does not provide shell access. ... debug1: Exit status 1
Toto je dobrý výsledok. Teraz môžete pokojne vyklonovať repozitár.