I am trying to set git up with http://danielmiessler.com/study/git/#website to manage my site.
I have gotten to the last step in the instructions: git push website +master:refs/heads/master
I am working using the git ming32 command line in win7
$ git push website +master:refs/heads/master
Bill@***.com's password:
Connection closed by 198.91.80.3
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
One problem here may be that the program is looking for Bill@***.com. when I connect via ssh to my site I have a different username( lets say 'abc'). so maybe this should be abc@***.com. If so I don't know how to change this or if I can push under an alias
.git/config
file and see everything is in order. It had wrong set-url and origin values for me.
Your ssh key most likely had been removed from ssh agent
ssh-add ~/.ssh/id_rsa
where id_rsa is a ssh key associated with git repo
Update
You may get Could not open a connection to your authentication agent.
error to resolve that you need to start the agent first by:
eval `ssh-agent -s`
I was facing same issue a while ago...
my .git/config had
url = git@github.com:manishnakar/polymer-demo.git
I replaced it with
url = https://github.com/manishnakar/polymer-demo.git
and it works now:)
ssh
keys then you will likely have this issue. The fix as indicated is to use https
instead, or have the repo owner set up ssh
You can specify the username that SSH should send to the remote system as part of your remote's URL. Put the username, followed by an @
, before the remote hostname.
git remote set-url website abc@***.com:path/to/repo
.git/config
which has the remote url parameter
git
. Example: git@github.com:mayoff/uiimage-from-animated-gif.git
Github figures out your identity by looking at what SSH key you send.
Make sure you have correct url in .git/config
url = git@github.com:username/repo.git
If it's your first push, you'll need to set up correct upstream
$ git push -u origin master
You can check which key is used by:
$ ssh -vvv git@github.com
The reply should contain something like this:
debug1: Next authentication method: publickey
debug1: Offering RSA public key: ~/.ssh/id_rsa
...
You've successfully authenticated, but GitHub does not provide shell access.
Also it's possible to define rules for ssh in ~/.ssh/config
, e.g. based on aliases:
Host github
HostName github.com
User git
IdentityFile "~/.ssh/id_rsa"
Host git
HostName github.com
User git
IdentityFile "~/.ssh/some_other_id"
You can set connect to different ports, use different username etc. for each alias.
url
was set to https://github.com/user/repo.git
(without git@github.com
) and so it refused to use my SSH key. Maybe it's because I cloned it using GIthub for Windows originally (?)
url = ssh://github.com/RaphaelBossek/dev-atlassian-jira-proman.git
to url = ssh://git@github.com/RaphaelBossek/dev-atlassian-jira-proman.git
and it worked again
-vvv
hint was helpful for me. Now I see that it's saying "Connection closed by XXX.XXX.XXX.X port 22".
Try removing the GIT_SSH environment variable with unset GIT_SSH
. This was the cause of my problem.
This is usually caused due to the SSH key is not matching with the remote.
Solutions:
Go to terminal and type the following command (Mac, Linux) replace with your email id. ssh-keygen -t rsa -C "you@email.com" Copy the generated key using following command starting from word ssh. cat ~/.ssh/id_rsa.pub Paste it in github, bitbucket or gitlab respective of your remote. Save it.
Make sure ssh-agent is running by executing the following command on your terminal:
eval $(ssh-agent -s)
Source: Github documentation
.zshrc
file?
I had a wrong ssh private key for Bitbucket along with the right one in ssh agent.
Deleted all keys first
ssh-add -D
Then added just the right key.
ssh-add ~/.ssh/id_rsa
I had the same problem.
This error means that you have not specified your remote URL location upon which your code will push.
You can set remote URL by 2 (mainly) ways:
Specify remote URL via executing command on Git Bash. Navigate to your project directory Open Git Bash Execute command: git remote set-url origin
For more detailed info visit this link.
Another workaround:
Sometimes this happens to me because of network problems. I don't understand the root problem fully, but switching to a different sub-network or using VPN solves it
After doing some research I've finally got solution for this, you have declared a environment variable to plink.exe path. So if you remove that path, reopen the git bash and try cloning through SSH it will work.
Refer to this link
http://sourceforge.net/p/forge/site-support/2959/#204c
I had the same error. The solution was following: I've corrected my url in .git/config
. Just copied that from HTTPS clone URL. That would be something like that:
url = https://github.com/*your*git*name*/*your*git*app*.git
It worked.
If after"git push origin master" command u see the error "could not read from remote repository" then try this out
1.ssh-keygen -t rsa -b 4096 -C "youremail"
2.eval $(ssh-agent -s)
3.ssh-add ~/.ssh/id_rsa
4.clip < ~/.ssh/id_rsa.pub(it copies the ssh key that has got generated)
5.then go to your remote repository on github and goto settings-> SSH and GPG keys ->new SSH key ->enter any title and paste the copied SSH key and save it
6. now give git push origin master
In your .git/config file
[remote "YOUR_APP_NAME"]
url = git@heroku.com:YOUR_APP_NAME.git
fetch = +refs/heads/*:refs/remotes/YOUR_APP_NAME/*
And simply
git push YOUR_APP_NAME master:master
If you use Gitlab than you might need to log in and accept Gitlab new terms, before you try to pull or push.
updated OCT 2020
In most of the case when you have more than one user access the same git server from a same client system, that time git server confused to with access key with the user both users allowed but when you fire command that time its used default user.
ssh -T git@gitlab.com
see which user are activatly you try to push with that user
the simple solution removes the unused user public key from the git server.
then try to git fetch or pull, push it will work for me
In my case I was using an ssh key with a password to authenticate with github. I hadn't set up pageant properly in Windows (only in cygwin). The missing steps were to point the git_ssh environment variable to plink.exe. Also, you need to get github.com into the plink known_hosts.
plink github.com
y
<then ctrl-c>
Hope this helps!
I sure wish intellij would have given me a more useful error, or better yet asked me to type in the ssh key password.
I had a perfectly fine working git and suddenly I got that error when I tried to push to the master. As I found out, it was because the repository host had problems.
If you using GitHub or Bitbucket you can easily check the status at
https://status.github.com/messages or https://status.bitbucket.org/
https://i.stack.imgur.com/85OWs.png
You need to use HTTPS for Git:
Type this into the Terminal:
$ git remote set-url origin abc@***.com:path/to/httpURLRepo
Then commit:
$ git add .
$ git commit -m "This is the commit message"
I have tried everything including generating new key, adding to the GitHub account, editing .ssh/config and .git/config. But still it was giving me the same error. Then I tried following command and it does work successfully.
ssh-agent bash -c 'ssh-add ~/.ssh/id_rsa; git clone git@github.com:username/repo.git'
ssh -T git@github.com
? That worked for me.
I meet the problem just now and fix it by: git config user.email "youremail"
.
update: The root cause maybe my poor network and poor proxy. I still don't know why it happened, but every time has this error, this command works!!!
In my case, The bitbucket's web ssh key setup UI is confusing.
Repository Settings -> Access keys -> Add key : Error
Personal settings -> SSH keys -> Add key : Ok
The public key registration screen is mutually exclusive. You must register the public key only in one place. It seems good to unify them on one screen.
For my case, I am using Corporate network (without internet connection) in office. In order to pull code from github, I set https proxy in gitbash and then use https instead of ssh to pull code,it works fine. However when comes to push code, the https proxy won't work. So either switch to Internet network (with internet connection) or set ssh proxy can solve the problem.
Actually I tried a lot of things to make it work on Win7, since changing the SSH exectun fron native to build-it and backwards and the same error. By chance, i change it to HTTPS in the ".git/config" file as:
[remote "origin"]
url = https://github.com/user_name/repository_name.git
fetch = +refs/heads/*:refs/remotes/origin/*
and it finally worked. So maybe it could work for you as well.
I had the same issue and after a while I saw I'm under root user (with sudo -s). May this help for someone.
user@server:/etc/nginx$ cat .git/config
...
[remote "origin"]
url = git@gitlab.com:user/.git
fetch = +refs/heads/*:refs/remotes/origin/*
...
Use ssh instead of https. To use ssh key in git (add ssh key). If you are root, use the ssh key.
$ sudo ssh-keygen
$ cat /root/.ssh/id_rsa.pub
$ git init
$ git add file
$ git commit -m "add first file"
$ git remote add origin git@gitlab.com:user/example.git
$ git push -u origin master
I solved this issue by restarting the terminal (open a new window/tab).
So if you don't really want/need to understand the underlying problem, test method is worth a try before digging deeper :)
I had this problem using gitbash on windows 10. I tried several things to solve this problem, the major ones being these:
Recreated my ssh keys and updated to bitbucket. Didn't help Turned on debugging using this and found out that I was getting "shell request failed on channel 0" as asked here Rebooted my windows PC
None of the above helped. I ended up re-installing Git for windows This took only a few minutes as compared to other things I did and it solved the problem!
Pretty straightforward solution that worked for me, see below:-
Problem
$ git clone git@github.com:xxxxx/xxxx.git my-awesome-proj
Cloning into 'my-awesome-proj'...
ssh: connect to host github.com port 22: Connection timed out
fatal: Could not read from remote repository.
This should also timeout
$ ssh -T git@github.com
ssh: connect to host github.com port 22: Connection timed out
This might work
$ ssh -T -p 443 git@ssh.github.com
Hi xxxx! You've successfully authenticated, but GitHub does not provide shell access.
Override SSH settings
$ vim ~/.ssh/config
# You can also manually open the file and copy/paste the section below
# Add section below to it
Host github.com
Hostname ssh.github.com
Port 443
Then try again
$ ssh -T git@github.com
Hi xxxxx! You've successfully authenticated, but GitHub does not
provide shell access.
Try cloning now (should work)
$ git clone git@github.com:xxxxxx/xxxxx.git my-awesome-proj
Cloning into 'my-awesome-proj'...
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 15 (delta 0), reused 15 (delta 0), pack-reused 0
Receiving objects: 100% (15/15), 22.90 KiB | 4.58 MiB/s, done.
Reference: here => Use HTTPS with Port 443
In my case it was the postBuffer..
git config --global http.postBuffer 524288000
For reference read: https://gist.github.com/marcusoftnet/1177936
Success story sharing
ssh-add ~/.ssh/theKeyInQuestion
got me back up and running with this repo, didnt know the key removed, or what "removed" even means but at least I was able to get authenticated again. SSH is a total mystery to me even after months of dealing with authentication issues. ssh agent issues are one more thing to be aware of!ssh-add -k ~/.ssh/id_rsa
Could not open a connection to your authentication agent.
.eval `ssh-agent -s`
to start the ssh-agent firstly