Reputation: 2076
I've never encountered ssh working and git not working in this way. Not sure how to troubleshoot.
ssh seems to work (-T
prevents the first line):
iam@heeere:/e/.ssh$ ssh github
PTY allocation request failed on channel 0
Hi bradyt! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.
git push seems to not work
iam@heeere:/e/basic-computing-notes$ git push
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
My git config is
iam@heeere:/e/basic-computing-notes$ git config -l
[email protected]
user.name=Brady Trainor
push.default=simple
alias.ac=!git add --all && git commit
alias.lol=log --oneline --graph --decorate --all
core.editor=vim
core.excludesfile=/e/configs/.gitignore_global
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
[email protected]:bradyt/basic-computing-notes.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
My ssh config includes
Host github
HostName github.com
User git
IdentityFile "~/.ssh/github_rsa"
Upvotes: 4
Views: 4663
Reputation: 434
I've had the same problem here when using 'https' protocol.
Git push doesn't work for 'https' protocol but if I manually change it to 'git' it works.
This doesn't work:
git push https://github.com/username/repo.git
But changing it to this works:
git push [email protected]:username/repo.git
Upvotes: 0
Reputation: 414
Although this is not the answer to OP's question, I put this here for other people who might end up here like me:
When using a non-standard SSH port, the protocol needs to be explicitly specified, i.e.
git remote set-url origin git+ssh://git@host:port/url.git
instead of
git remote set-url origin git@host:port/url.git
Upvotes: 0
Reputation: 1372
I came across the same issue and I found out there was an entry in my .gitconfig which was replacing ssh with https.
[url "https"]
insteadOf = git
I might have accidentally added this entry while using some tool. After removing this the problem was resolved.
Upvotes: 1
Reputation: 1323115
Since your ssh keys has not the default name (id_rsa
, id_rsa.pub
), you need to use the ssh config entry you defined, in order for your ssh url to reference the right keys:
git remote set-url origin github:bradyt/basic-computing-notes.git
That way, ssh will look for ~/.ssh/github_rsa
, instead of looking for ~/.ssh/id_rsa
.
Simpler, musiKk suggests in the comments, changing the entry of the ssh config to github.com
.
Host github.com github
HostName github.com
User git
IdentityFile "~/.ssh/github_rsa"
I have kept the Hostname
and User
just to be sure, but the default url would then work ([email protected]:bradyt/basic-computing-notes.git
)
As raphinesse mentions in the comments:
In case you still want to use the shortcut
github
, theHost
keyword allows for multiple patterns.
From thessh_config
man page:If more than one pattern is provided, they should be separated by whitespace.
Upvotes: 7