Unable to clone git repository in Eclipse EGit - eclipse

I am unable to clone a repository in Eclipse. But yes I am able to clone the same through git bash.
I am getting an error with possible reasons as:
Incorrect URL
No network connection
SSH is not configured properly.
My URL is correct and I am having proper network connection, though. As far as SSH is concerned, I am having the same set of keys in my local Windows folder, Eclipse > SSH2 and my Gerrit SSH public keys.
I am really confused, that where I am missing out on this.

The issue was due to SSH keys. I generated the new pair of keys from eclipse and mapped it to Gerrit. It is working for me now.
Thanks Rudiger for your help.

Related

Import git project into Eclipse

I am importing a git project into Eclipse using a git URL. It is giving me the below errors in a popup.
Incorrect URL
No Network Connection (wrong proxy connection)
SSH is not configured correctly.
I have checked that the URL is correct. How to check the remaining 2 options?
Try testing each error-message suggestion one by one:
Confirm the URL again. Never hurts.
Connect to the host machine (or website) where your repo lives from outside of Eclipse. If you can't do this, your connection to the host is probably the issue. If you can, the issue is not with your connection.
Clone the git repo to your machine directly: open a command prompt, navigate to a temporary folder, and git clone <URL>, where is the SSH address you have confirmed. If the repo clones successfully, SSH is working fine on your machine, and it's time to look at Eclipse, and the information you're passing it.
If you provide more information on your environment, network configuration (esp. re: proxies, as #howlger suggests), SSH configuration, and the settings you are passing to Eclipse, the community may be better able to assist with your specific case.

Authentication failed. Please make sure that you added your private key to the ssh preferences

I am trying to deploy Jersey project with openshift eclipse plugin but I am getting this error Authentication failed. Please make sure that you added your private key to the ssh preferences I have gernerated to ssh key and saved it in the .ssh directory. I added this key on the openshif- seetings- add new key- I named it id_rsa like my stored one in the .git directory.
openshift ssh key:
The Eclipse tooling needs the private key that matches your public key in OpenShit. Otherwise git in Eclipse cannot clone the git repo in OpenShift. Make sure that you have the private key set in the Eclipse SSH2 preferences.
Another possible reason is (i dont habe enough details to know) if you're telling the OpenShift host to install a cartridge that is available in source from a git repo that OpenShift should clone. The above error shows you using an ssh-git-url. In this case you would have to make sure that the OpenShift host has the private key to clone from the git repo with the source code. This known issue is easily to work around using cartreflect as descrbed here:
https://issues.jboss.org/plugins/servlet/mobile#issue/JBIDE-18866
https://issues.jboss.org/plugins/servlet/mobile#issue/JBIDE-18911
For details on how to install the PRIVATE ssh key in OpenShift so that it can clone using an ssh-git-url look here:
https://bugzilla.redhat.com/show_bug.cgi?id=1163964#c0
Cheers
André

Netbeans fails to access GitHub using SSH key

My (newest) Netbeans (NetBeans IDE 7.3 (Build 201302132200)) seems to be failing completely, when I'm trying to access my own GitHub repo using SSH. It works without problems with HTTP URLs.
Since I've imported an existing local copy of GitHub repository (New > PHP Project with existing sources), created once with TortoiseGit, there were remote settings saved in local copy meta-data (probably in .git folder). So Netbeans offers option Select Configured Git Repository Location in Push to Remote Repository window. But is unsuccessful at that.
Tried following:
When I'm using SSH URL (git#github.com:user/reponame.git) and Password option, with account pass, Netbeans tries to connect GitHub (remote) and after circa 5 seconds throws error Cannot connect to the remote repository at git#github.com:user/reponame.git.
When using SSH URL with Private/Public Key option, Netbeans throws exactly the same error immediately, so I assume, that for some reason it doesn't even tries to connect GitHub.
What is even more strange (?), Netbeans is not asking for private key's passpharse. I've set it, but did not entered it to Netbeans deliberately, to test connection process. I was more than sure, that Netbeans will ask me to provide this passpharse, as it shouldn't be able to use private key without it. To my surprise, it hasn't asked for it and instead it thrown an error saying, that it can't connect GitHub. Of course, that was only a test. After entering correct passpharse, I'm getting exactly the same effects.
I've copied my repo's URL directly from GitHub website, without any modifications. It seems, that I can only use HTTP URL (https://github.com/user/reponame.git). This works and assures me that all items (URL, user, reponame, password, finally Internet connection) are OK. But, it seems, that Netbeans fails completely on SSH URL.
Above happens always, no matter if I select Select Configured Git Repository Location or Specify Git Repository Location in Push to Remote Repository window. No matter, what I'll do I can't access my repository via SSH in Netbeans and using HTTP is the only option.
I have created my private-public key pair using puttygen.exe from PuTTY's website. I saved private key in Netbeans installation directory and added public key to GitHub's SSH Settings page. I used step-by-step guide I normally use with TortoiseGit.
I don't know what else I could miss out or I'm doing wrong? Any idea?
For the record:
When generating keys with PuTTYgen, it's recommended for compatibility to export it as an OpenSSH key. This can be achieved by accesing Conversions > Export OpenSSH key menu.
After series of many tests, I found out that Netbeans:
Does not work to well with existing local copies of GitHub (or any other git) remote repositories.
Does not work at all with SSH keys generated by puttygen.
As for first, I had to remove entire folder cloned with TortoiseGit and clone the same repository using Netbeans-bundled tools (Team > Git > Clone). The same goes for Subversion (look here) -- so the general rule of thumb says, that when you're switching from another Git or SVN client to Netbeans, you should do a full, clean clone (or checkout) of remote repository as attempts to re-use existing copy will most likely fail.
As for second, follow instructions given in this GitHub article and use ssh-keygen (either from your local installation of Git for Windows, in case of Windows or from any other source) instead of puttygen -- SSH keys generated by it can't be used in Netbeans for setting up password-less login to GitHub.
As I wrote, I've been using TortoiseGit previously, which accepts and works well with puttygen keys, so it wasn't to obvious for me, that source of the problem is here.
After fixing this two problems (getting clean clone and generating correct keys), ale problems expressed in my question were gone and Netbeans works with GitHub repositories like a charm.
My solution was to use a the ssh-keygen with the PEM option:
ssh-keygen -t rsa -b 4096 -m PEM -C my#mail.xy
Netbeans 12 use JGit for the Git-tool and this supports only special kinds of ssh keys?

Eclipse / EGit can only connect after previous console connection

I am using Windows 7 / Eclipse Juno / Git Extension 2.43
I have set up a VM Server with UbuntuS Server & Gitolite and added a repo.
Afterwards i cloned the repo with Git Extensions. Everything fine so far. I was also able to conect with Egit via Eclipse. Both using the ssh key.
But now i have the problem that after a restart Eclipse does not connect to the repo.
When i try with Git Extension everything works as it should. The curious thing is that after the successful connection with Git Extensions Eclipse is also able to connect.
After the next restart same problem.
Also to mention is that Eclipse never asks for the passphrase of the ssh key but Git Extensions does.
Maybe Git Extensions somehow caches the passphrase for the key?
I could always start Git Extension after every reboot but thats not really what i want to do.
Any idea?
Thx in advance!

How do I push to Git Repo given the following error: An internal Exception occurred during push: ssh://git#github.com/xxx/xxx.git: session is down

I recently set up a github account to store the source code of a project I have been working on.
I am using egit eclipse plugin to push changes to github.
I successfully pushed the initial code and 2 subsequent changes. However when I attempted to push the third change I was not able. The following excepiton appears in the eclipse error log.
If someone could tell me the cause of this error, or tell me how I can go about debugging the problem it would be a great help.
org.eclipse.jgit.api.errors.JGitInternalException: Exception caught during execution of push command
at org.eclipse.jgit.api.PushCommand.call(PushCommand.java:156)
at org.eclipse.egit.core.op.PushOperation.run(PushOperation.java:227)
at org.eclipse.egit.ui.internal.push.PushOperationUI.execute(PushOperationUI.java:145)
at org.eclipse.egit.ui.internal.push.PushOperationUI$1.run(PushOperationUI.java:202)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: org.eclipse.jgit.errors.TransportException: ssh://git#github.com/xxx/xxx.git: session is down
at org.eclipse.jgit.transport.JschSession$JschProcess.<init>(JschSession.java:154)
at org.eclipse.jgit.transport.JschSession$JschProcess.<init>(JschSession.java:118)
at org.eclipse.jgit.transport.JschSession.exec(JschSession.java:91)
at org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.<init>(TransportGitSsh.java:306)
at org.eclipse.jgit.transport.TransportGitSsh.openPush(TransportGitSsh.java:152)
at org.eclipse.jgit.transport.PushProcess.execute(PushProcess.java:130)
at org.eclipse.jgit.transport.Transport.push(Transport.java:1120)
at org.eclipse.jgit.api.PushCommand.call(PushCommand.java:152)
... 4 more
Caused by: com.jcraft.jsch.JSchException: session is down
at com.jcraft.jsch.Session.openChannel(Session.java:750)
at org.eclipse.jgit.transport.JschSession$JschProcess.<init>(JschSession.java:147)
... 11 more
I experienced the same issue. Resolution follows:
Delete origin push and fetch in remote(Eclipse view --> Git repositories).
Close Eclipse.
Go to .ssh folder(Users/.ssh) and delete the key files(public and private).
Start eclipse and regenerate the keys(Window --> Preferences --> General tab --> Network connections --> SSH2).
Copy the key and add it to github/SSH Keys
In Eclipse add new remote and push.
Edit
You may not need to delete all the key files. If you have already added a key file previously (perhaps while setting up native Git), you can just add the name of that file in list of keys, and it will work.
This seemed to work for me:
Do everything Firoz and Nishant say except push: https://stackoverflow.com/a/9889350
Create or edit the following file on your desktop:
File : ~/.ssh/config
Content :
Host github.com
User [your_github_username]
Hostname github.com
PreferredAuthentications publickey
IdentityFile [path_to_private_key]
In your Eclipse Git Setup for your project do the following:
URI : git#github.com:[repo_owner_username]/[repo_name].git
Protocol : ssh
Username : git
Password : [leave_blank]
Save and push.
See this GitHub SSH Help page for useful info: http://help.github.com/ssh-issues/
Worked for me after initially suffering through "session is down" and "cannot open git-upload-pack" errors. Hope it helps everyone else too.
Good luck!
I faced the same problem and I found out solution which is extremely foolish.
I took following steps:
I logged into git repository of my project from browser and didn't sign out.
I copied the http url to push or pull from project repository from github.
I pasted the url in my eclipse plugin while pushing code (didn't use the already stored one even though both of them were same)
I don't know what and why but above steps have worked for me whenever I have faced above problem. I don't know why does eclipse throw such exceptions and why does it gets solved this way.
You can also try pushing using other ways outside of eclipse. for eg. `TortoiseGit` or `SmartGit` etc.
I had the same problem. I fixed it by pointing the JAVA_HOME variable to jdk 6. It was originally pointing to jdk 5.
I got this error message and it was fixed when one of my co-workers emailed me the two files id_rsa and id_rsa (MS Pub doc), I put them in C:Users\[userID]\.ssh, and shut down and restarted my IDE.
I had this issue with EGit and solved it at last. Somehow sometimes things get messed up. If you can not solve it through Eclipse just go to your "git" folder with git bash with Windows. With Linux it is even easier: just open the terminal.
This problem occurs because of username, password, and ssh keys getting messed up.
So, use the commands "git remote show origin" and make sure if the origin is username#github.com...... Sometimes Eclipse just puts "git" as a username so make sure you have the correct user name by changing it with the command git remote set-url origin https://usrname#github.com/restofthe url. It should automatically change the configurations in eclipse.
Best...
I also had this issue.
The following command in Git Bash, comes handy in such scenarios: git remote prune origin
This configured the Pull/Push in the corrupted branch.