2

I have successfully pushed one app code onto github. I had set up the ssh key and added it to github.

But then I started working on another app and tried to push it onto github using:

git remote add github git@github.com:user_name/demo_app.git
git push -u github master

Then I got the following error:

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

I have also tried changing the name of the remote Git repository but that didn't work too.

I tried $ssh -v git@github.com to get more information and this is what i got.

-bash: cd: ../.ssh: No such file or directory
abhimanyu@sourcebits-Ubuntu:~/Aptana_Studio_3_Workspace/demo_app$ cd ~/.ssh
abhimanyu@sourcebits-Ubuntu:~/.ssh$ cd ~
abhimanyu@sourcebits-Ubuntu:~$ ssh -v git@github.com
OpenSSH_5.5p1 Debian-4ubuntu4, OpenSSL 0.9.8o 01 Jun 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to github.com [207.97.227.239] port 22.
debug1: Connection established.
debug1: identity file /home/abhimanyu/.ssh/id_rsa type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: identity file /home/abhimanyu/.ssh/id_rsa-cert type -1
debug1: identity file /home/abhimanyu/.ssh/id_dsa type -1
debug1: identity file /home/abhimanyu/.ssh/id_dsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.1p1 Debian-     5github2
debug1: match: OpenSSH_5.1p1 Debian-5github2 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.5p1 Debian-4ubuntu4
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'github.com' is known and matches the RSA host key.
debug1: Found key in /home/abhimanyu/.ssh/known_hosts:9
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
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 public key: /home/abhimanyu/.ssh/id_rsa
debug1: Remote: Forced command: gerve abhimanyu86
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug1: Remote: Forced command: gerve abhimanyu86
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Authentication succeeded (publickey).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = en_IN
PTY allocation request failed on channel 0
Hi user_name! You've successfully authenticated, but GitHub does not provide shell access.                                                                                                  


debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
debug1: channel 0: free: client-session, nchannels 1
Connection to github.com closed.
Transferred: sent 2648, received 2904 bytes, in 0.5 seconds
Bytes per second: sent 5858.0, received 6424.3
debug1: Exit status 1

While i was setting the ssh key I was asked for a passphrase and I didnt leave it blank.

Any suggestion would be appreciated.

Abhimanyu
  • 377
  • 1
  • 4
  • 10
  • "another app"? do you have forket this other app and do you have its repo listed as one of your repos on your GitHub account page? – VonC Jun 14 '11 at 15:13
  • @Vonc - Yes I have listed repo for the other app too.. – Abhimanyu Jun 14 '11 at 15:52
  • @Ivan - I wrote that line by mistake...I actually used this: git remote add github git@github.com:user_name/demo_app.git – Abhimanyu Jun 14 '11 at 15:52

9 Answers9

1

There are a few reasons why you can get this issue:

  • Typo: Having a typo anywhere while adding remote can cause the problem.
  • Wrong SSH key: This can happen if your ssh key changed and you are accessing the repo again.
  • Access Revoke: If your access to the project is revoked, you can get this error.
  • Incorrect SSH key - Make sure that \n is not copy-pasted from the ssh key.
sandeep
  • 521
  • 2
  • 7
1

You can try to replace it manually on the git config:

$ vi (or any other text editor) .git/config

Replace the url by: url = git@github.com:username/reponame.git

Sunnier
  • 11
  • 1
  • This helped me solve my problem. I was getting exception fatal: Authentication failed for 'https://github.com/ – Anuj Mehra Sep 05 '21 at 16:12
1

I think the problem is here:

git remote add github github@github.com:user_name/demo_app.git

This should be

git remote add github git@github.com:USERNAME/REPONAME.git

That is github@github.com:... should be git@github.com:...
Try this:

# change the remote's url
git remote set-url github git@github:user_name/demo_app.git
# and then try pushing again
git push github master
c00kiemon5ter
  • 16,994
  • 7
  • 46
  • 48
0

If you do not own the repository, make sure that you are a contributor. Have the admin add you under settings.

user2967750
  • 59
  • 1
  • 2
0

I had this problem with bitbucket,

Might help others to know: I found the solution that worked best for me was breaking up the push into smaller chunks. Removing the large screenshot image files (10mb+) from the commits

Security was not the issue in the end more about limits of bin files

Harry Bosh
  • 3,611
  • 2
  • 36
  • 34
0

It looks like you are trying to push to a repository that you do not own. To push to another user's repository, you need to fork it on the GitHub website. This will give your account access to a branch on that repository.

Make sure to create a matching branch on your local repository and then push from that branch. In order to push to the 'master' branch, you either need to be added as a collaborator or make a pull request so that the owner can merge your work to the master branch.

CalMlynarczyk
  • 705
  • 2
  • 7
  • 12
0

Just change your internet connection as it worked with me. My Laptop was connected with the BSNL wifi but when I changed my network to my phone's internet hotspot. It worked fine for me. Hope it works for you as well.

0

I once has the same problem with

 git remote add github git@github.com:user_name/demo_app.git
 git push -u github master

Then I change the remote URL to use https like this

 git remote add github https://user_name@github.com/user_name/demo_app.git
 git push -u github master

And it works correctly.

Chau Hong Linh
  • 4,106
  • 1
  • 14
  • 4
-1

To check if you have write access to a repository on GitHub, follow these steps:

  1. Navigate to the Repository: Go to the main page of the repository in question. The URL should look something like: https://github.com/username/repository-name.

  2. Check for "Fork" Button: If you see a button labeled "Fork" at the top right corner of the repository page, it means you have the option to fork the repository, and by extension, you have read access to the repository. This is a good indicator that you have at least some level of access to the repository.

  3. Check Repository Settings: If you want to be certain about your access level, you can try to access the repository settings. Click on the "Settings" tab on the right side of the repository page (next to "Insights" and "Security"). If you have write access, you should be able to access the settings page.

  4. Attempt to Create a Branch: Another way to check for write access is to try creating a new branch in the repository. On the main repository page, click on the branch dropdown (usually set to "main" or "master") and type in a new branch name. If you have write access, GitHub will allow you to create a new branch.

  5. Look for Collaborator Status: If you are a collaborator on the repository, it means you have write access. You can check this by going to the "Settings" tab, then selecting "Manage Access" or "Collaborators" (depending on the GitHub interface version).

  6. Check for Issue/PR Creation Permission: If you can create new issues or pull requests in the repository, it indicates you have at least write access to the repository.

Remember that write access grants you the ability to make changes, create branches, create pull requests, and push commits to the repository. If you don't have write access, you can still suggest changes by forking the repository and creating a pull request with your proposed changes. The repository owner or maintainers can then review and merge your changes if they find them appropriate.

ak000ay
  • 18
  • 4
  • 1
    As it’s currently written, your answer is unclear. Please [edit] to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – Community Feb 24 '22 at 12:31