Friday 19 April 2019

git - SSH to github using CygWin doesn't work


I followed this article on github on how to generate ssh key but it keeps asking for a passphrase, but I haven't set up one! Even if I set up a passphrase it ignores it and asks for it again. It claims that it uses the right key that I set up but in the end I get permission denied.


Details of my key set up:


ssh-keygen -t rsa -b 4096 -C "name.surname@gmail.com"

Then, I choose default location ~/.ssh/id_rsa and run clip < ~/.ssh/id_rsa.pub.


Then paste it on my github account in SSH settings. Also, I add the following line to my ssh config (~/.ssh/config):


Host github.com
IdentityFile ~/.ssh/id_rsa.pub

So far so good. Let's test it now!


'ssh git@github.com -Tv' give the following output:

$ ssh -vT git@github.com
OpenSSH_7.1p2, OpenSSL 1.0.2f 28 Jan 2016
debug1: Reading configuration data ~/.ssh/config
debug1: ~/.ssh/config line 1: Applying options for github.com
debug1: Connecting to github.com [192.30.252.128] port 22.
debug1: Connection established.
debug1: identity file ~/.ssh/id_rsa.pub type 1
debug1: key_load_public: No such file or directory
debug1: identity file ~/.ssh/id_rsa.pub-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.1
debug1: Remote protocol version 2.0, remote software version libssh-0.7.0
debug1: no match: libssh-0.7.0
debug1: Authenticating to github.com:22 as 'git'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client chacha20-poly1305@openssh.com none
debug1: kex: client->server chacha20-poly1305@openssh.com none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ssh-rsa SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8
debug1: Host 'github.com' is known and matches the RSA host key.
debug1: Found key in ~/.ssh/known_hosts:1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: ~/.ssh/id_rsa.pub
debug1: Server accepts key: pkalg ssh-rsa blen 279
Enter passphrase for key '~/.ssh/id_rsa.pub':

But there is no passphrase set up! I click enter and I get:


debug1: No more authentication methods to try.
Permission denied (publickey).

Ok, let's give it another go, it asks for passphrase again :( :


$ git push -u origin master -v
Pushing to git@github.com:myUserName/myRepo.git
Enter passphrase for key '~/.ssh/id_rsa.pub':
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Just for completeness, setting up a passphrase doesn't solve anything:


$ ssh-keygen -f id_rsa -p
Enter new passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved with the new passphrase.

Any ideas why it doesn't work? :(



Answer



You have the config wrong. You need to provide the private key and not the public to the option IdentityFile (without the pub extension):


Host github.com
IdentityFile ~/.ssh/id_rsa

No comments:

Post a Comment

How can I VLOOKUP in multiple Excel documents?

I am trying to VLOOKUP reference data with around 400 seperate Excel files. Is it possible to do this in a quick way rather than doing it m...