Related
I've had Eclipse installed for quite a while. I upgraded to 2018-12 a few weeks ago. I've had ssh authentication set up for all my git repos (centrally stored in BitBucket Server) for a long time. It's been working perfectly fine.
Today I had to reboot my Windows7 laptop for some automated installations, which happens a few times a month.
I restarted Eclipse and suddenly I'm finding that all of my git repos are failing authentication. I'm seeing this in the log:
!MESSAGE ssh://git#.../....git: No more authentication methods available
!STACK 0
org.eclipse.jgit.api.errors.TransportException: ssh://git#.../.....git: No more authentication methods available
at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:254)
at org.eclipse.jgit.api.PullCommand.call(PullCommand.java:290)
at org.eclipse.egit.core.op.PullOperation$PullJob.run(PullOperation.java:256)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: org.eclipse.jgit.errors.TransportException: ssh://git#.../.....git: No more authentication methods available
at org.eclipse.jgit.transport.sshd.SshdSessionFactory.getSession(SshdSessionFactory.java:249)
I then went to one of my local repositories in my Cygwin shell and tried a "git pull". This worked perfectly fine.
The only recent change I made that might be related to this is that I installed the Windows version of git, in addition to the Cygwin git. I put it at the end of the PATH. I don't see how that could be affecting this, as Eclipse is using jgit.
Update:
I think I just solved the problem, but I'm not sure what the real problem was.
When I installed 2018-12 a few weeks ago, I thought I noticed a mention of upcoming changes to what the default ssh client would be. I noticed that I was currently set to use JSch, and I thought the release notes said that it would be moving to "Apache MINA", so I decided to change it now and see how it worked. This was working fine for a couple of weeks.
Just now I tried changing that field back to "JSch" and then doing a pull. It worked fine. Just to be sure, I changed it back to "Apache MINA" and tried it again. Still failed. Changed it back to "JSch" and it's working.
I don't know what's going on here.
This is happened to me today... I don't have any clue why it's happening.. I tried removing eclipse and installed again... same problem again... I checked all the settings and everything seemed fine... the error message was not something to guess easily...
What i have done
My ssh keys are not the default one... I have a folders called github, internal and deployed inside ~/.ssh
So, In eclipse I went to Window > Prefrences -> Network -> SSH2 in private keys I have given the path to my keys... but i didn't change SSH2 home directory... this is the culprit.. I will tell you later why
SSH2 Home directory = ~/.ssh
path to private key = ~/.ssh/github/slokesh
I changed ssh client in Preferences -> Team -> git but every single time the same error was showing up...
So, then I went back to step 2, then there I changed SSH2 home directory to ~/.ssh/github and the path to private key to slokesh then it worked...
I hope this helps... if anything is unclear please leave a comment...
I feel that the error message they are throwing could be more verbose and clear. Also, there should be a note in the SSH2 home and private key path fields because the private key path they are taking as relative to SSH2 home. But unfortunately they are not giving...
Whenever I'm trying to synchronize/update my projects with SVN repo it asks me for password. It drives me nuts, I'm checking "save password" checkbox and it doesn't work at all.. what is more, I cant use a simple password.
It might be somehow connected with my company's proxy but eclipse plugin update sites work just fine.
I have a Subversion directory in my AppData dir, maybe I should delete this?
I can also provide additional info, I just don't know what may be relevant.
I'm using Subclipse with JavaHL provider and my Eclipse version is 4.4.2 but I have the same problem on Eclipse 3.7.2
Here's what worked for me. I went to Window/Preferences/Team and saw that there were two "SVN" sub-menus. I'm not sure how I got to this state, but I may have installed both Subversion and Subclipse at some point.
Anyway, in the first SVN submenu, there is a tab for SVN Connector. And in the other SVN menu, there is a subsection labelled "SVN interface". Both of these provide a drop-down list to select a connector/interface. In my case, in the first SVN menu, the SVN Connector was set to "SVNKit". In the second SVN menu, it was set to "JavaHL". I changed this to SVNKit, and have had no problems since.
This one worked well : http://www.thinkplexx.com/learn/howto/ide/eclipse/fix-eclipse-svn-always-asking-for-login-and-password-clear-keyring-or-cache
There is some files to delete :
Delete (or rename .old) in Eclipse : /configuration/org.eclipse.core.runtime/.keyring
Remove the file in your profile (AppData/Roaming or ~) : /.subversion/auth/svn.simple
Go to SVN perspective and enter login/password. Should keep it now.
What worked for me was going to Window->Preferences->Team then under 'SVN Interface' select the 'SVNKit (Pure Java)' option.
None of the current answers worked for me in eclipse neon. Therefore I edited hash file in /.subversion/auth/svn.simple/[filename]
I added password informarion:
K 15
svn:realmstring
V 51
<https://svn.example.com:443> Subversion Repository
K 8
username
V [length_of_username]
[username[
K 8
password
V [length_of_password]
[password]
END
This is what has just worded for me (Mars, subclipse, SVNKit):
I read the $WORKSPACE/.metadata/.log file, and found this:
!ENTRY org.eclipse.core.runtime 2 0 2015-09-04 09:24:33.282^M
!MESSAGE Authorization infrastructure (org.eclipse.core.runtime.compatibility.auth) not installed.
!STACK 0
java.lang.ClassNotFoundException: org.eclipse.core.internal.runtime.auth.AuthorizationDatabase cannot be found by org.eclipse.core.runtime_3.11.0.v20150405-1723
Duckduckgoed the package name org.eclipse.core.runtime.compatibility.auth and found it in Maven repository, where I downloaded the jar file, which I copied into my $ECLIPSE_HOME/dropins directory.
After restarting eclipse there was no error in the log, I was just asked once my master password. No more annoying password dialogs since then.
I can provide one more solution that works for me after trying another solutions.
It was as easy as changing the combo "Apply To" in the login-pass pop-up window from "http://..." to "Repository Location".
I deleted C:\Users...\AppData\Roaming\Subversion\auth too as commented.
Eclipse version: Mars.2 Release (4.5.2)
Hope this helps.
went to Window/Preferences/Team/SVN
set to "SVNKit" from "JavaHL".
I changed this to SVNKit, and have had no problems since.
There are high chances that Eclipse (at least mine does: Eclipse 4.8.0 with Subclipse and SVNKit 1.8.12) is using the password storage of the command line Subversion utilities which are stored (at least under Linux) under ~/.subversion/auth/svn.simple.
As Daniel Juniszek pointed out in his answer you could edit this by hand, but doing this from command line is a little bit simpler:
Do an svn up in the project folder, give your password if it asks for, and enter yes for the Store password unencrypted (yes/no)? question.
After it finished updating successfully, do an svn up again to check that it does not ask for your password again.
If it asks again then maybe you have the same problem as me:
I had wrong permissions set on two hash files in the above directory (it was r--r--r-- instead of rw-r--r--) so the subversion command was unable to update the file. After I changed the permission with a chmod u+w ~/.subversion/auth/svn.simple/YOUR_FILENAME_HERE command, the svn up updated the file with the password and finally Eclipse stopped asking me for password as well.
It seems that you (xwhyz) provided the answer yourself: delete the files in this folder:
c:\Users\<myname>\AppData\Roaming\Subversion\auth\svn.simple\
(Eclipse Neon.2 with Subclipse 1.10.13 + Subversion Client Adapter 1.10.3)
Edit: I also disable Eclipse's automatic check for updates, and is now doing that manually. When prompted for the SVN password just press OK 3-5 times, without re-typing the password.
So I tried all methods you proposed and it didn't work.
Solution for me was:
Right click on TortoiseSVN
Settings
Network
Subversion server file, button 'Edit'
I added:
[groups]
group_name = group_address
[group_name]
http-proxy-exceptions = proxy_exceptions
http-proxy-host = proxy_host
http-proxy-port = port_number
store-passwords = yes
where I filled group_name, group_address, proxy_exceptions, proxy_host, port_number and checked 'yes'.
Hope it works for you.
Probably the simplest solution to try, and worked for us, was to reset the user's password on their SVN account. We recently upgraded to a newer version of CollabNet SVN and we didn't migrate the user accounts (if that's something we could have done, it might have been nice).
There were two developers encountering this issue: one user forgot their password and the account had not yet been created for the other user. It would've been nice to see a more descriptive error message about the credentials in the behavior from the server.
I was facing similar problem and below solution worked for me: Open Windows - preferences - Team - SVN and check for SVN interface, it should be client as SVNKit in place of JavaHL and restart eclipse / RAD ad it will be working fine.
I am not able to clone or push to a git repository at Bitbucket in Eclipse:
It's weird, because a day before I didn't have any problem. I have downloaded the sts 3 times with no luck. This error keeps showing. Also I have installed SourceTree and it says 'This is not a valid source path / URL':
If I use git commands to import the project, it works, but I wan't to use EGit for this task, since I am a newbie with git.
I don't know if this has to do with it, but in the same directory I have the android-adt-bundle. This one works pretty well, but the project lies on GitHub and not Bitbucket. Also, I'm working with another person and he is able to fetch and push data from and to the Bitbucket repository. I have read lots of posts but none of them have helped me out.
I'm using Windows 7 btw.
Might also be bad SSL cert, fix the server
If you have a GIT server with an outdated or self-signed SSL cert fix the server, afterwards everything should run fine.
Insecure Hotfix: Let the client accept any certificate
The following solution is just a mere hotfix on client side and should be avoided as it compromises security of your credentials and content. There is a detailed explanation for this in "How can I make git accept a self signed certificate?" which offers more complex and more secure solutions you can try out if the following works in general.
In my case it was Eclipse using a different storage for the git config as the command line does and thus not having the option
git config http.sslVerify false
set (which I set using command line for the repo for working with invalid/untrusted SSL cert).
Adding the option insides Eclipse immediately resolves the issue. To add the option
open preferences via application menu Window => Preferences (or on OSX Eclipse => Settings).
Navigate to Team => Git => Configuration
click Add entry..., then put http.sslVerify in the key box and false in the value box.
Seems to be a valid solution for Eclipse 4.4 (Luna), 4.5.x (Mars) and 4.6.x (Neon) on different Operating systems.
It happens due to the following Reasons:
1) Firewall.
2) Network Issues.
3) Proxy Settings Mismatch
4) Connected through different Router - which is not authorized within the network.
5) Git Proxy Authentication Details
Finally I made it work thanks to the steps outlined in the Eclipse forum:
Set up the SSH key stuff
Download and install mysys git according to the github instructions at http://help.github.com/win-git-installation/
In C:/Users/you/ssh hide any existing keys (id_rsa and id_rsa.pub) in a subdirectory. If the ssh directory does not exist, create it. Of course, "you" is your username as the OS knows you.
From the start menu, run Git-Bash command shell (a regular DOS command shell will not work).
In the Git-Bash shell generate an rsa key based on your email (the one you registered at github):
ssh-keygen -t rsa -C "you#wherever.com"
and enter your pass phrase and confirm when asked.
The previous step should have created C:/User/you/ssh/id_rsa.pub which you can now open in a text editor and copy. At github, go to account settings, SSH Keys, add a key and paste this in the key box.
In Git-Bash again (notice the back-ticks in the next line):
eval `ssh-agent`
ssh-add C:/User/you/ssh/id_rsa
ssh git#github.com
Here is what you just did: You ran the ssh-agent which is needed by ssh-add. Then you used ssh-add to make note of the location of your key. Then you tried to ssh to GitHub. The response to this last command should be that you have successfully authenticated at GitHub but that you don't have shell access. This is just an authentication test. If the authentication was not successful, you'll have to sort that out. Try the verbose version:
ssh -v git#github.com
Assuming this worked....
In Eclipse, configure the remote push
Window > Show View > Git > Git Repositories will add a repository explorer window.
In the repository window, select the repository and expand and right-click Remotes and choose Create Remote.
Copy the GitHub repository URI from the GitHub repository page and paste it in the URI box.
Select ssh as the protocol but then go back to the URI box and add "git+" at the beginning so it looks like this:
git+ssh://git#github.com/UserName/ProjectName.git
In the Repository Path box, remove the leading slash
Hit Next and cross your fingers. If your get "auth fail", restart Eclipse and try step 5 again.
When you get past the authentication, in the next dialog select "master" for source ref, click "Add all branches spec" and "Finish".
Instead of using SSH git#github.com I did it with SSH git#bitbucket.org.
Now I can push and import without any problem.
After struggling for a couple of hours, I found that git config file was not updated when I added the entry sslVerify = false in my Eclipse.
I solved my problem by navigating to my .git directory and updating the config file to :
[http]
sslVerify = false
I added -Dhttps.protocols=TLSv1.1,TLSv1.2 to eclipse.ini and it's working.
I use java 1.7
I had exactly the same issue with eclipse 2020-12. In Preferences->Git I changed "Http Client" to "Java built-in HTTP" and the issue is resolved.
One cause of this is having Fiddler2 configured to decrypt HTTPS traffic. Close Fiddler2 and it should work fine.
This issue can be caused when you have a local firewall which is preventing your application from being able to send any network traffic away from your machine. I.e. Outbound traffic or egress traffic rules.
Please try disabling your firewall for a quick test to see if this fixes your issue. If it does then setup the appropriate firewall policy for the application you are trying to use to push or pull to a git repository.
Recently I got same problem with existing repository.when I try to fetch from upstream not able Fetched object and got problems eclipse: cannot open git-upload-pack.
for me following solution work after adding TLS version in eclipse.ini file
Dhttps.protocols=TLSv1.1,TLSv1.2
For java7 need to add TLSv1.1 and for java8 need to TLSv1.2
Note: Need to restart eclipse once above configuration added.
In my case, it turned out that global proxy settings in "Preferences->Network connections" were interfering with git. Which is kind of confusing, because git has dedicated property for proxy configuration. Anyway, I've added repository host to "Proxy bypass" list and the problem was gone.
I faced "git-upload-pack not permitted" error in STS4 while fetching Bitbucket repository. I struggled for many many hours only to realize we need to use password generated with "Create app password" in Bitbucket (and not our own set password)
URL to generate password: https://bitbucket.org/account/settings/app-passwords/new
Use this password in "Clone a Git repository" in STS4
I just got this same error, "cannot open git-upload-pack", in Eclipse with a BitBucket repo trying to do a pull or a push.
I resolved it by switching local branches (Team/Switch To) to the master branch and doing a pull, and then switching back to the branch I was working on and pulling again.
I'm using Eclipse Kepler SR2 on Ubuntu 12.04LTS and was trying to access an internal GitHub using HTTPS.
Unfortunately, my underlying JVM with which Eclipse was started experienced problems with the self-signed certificate of the server. Switching to a different JVM for Eclipse got the HTTPS connection to our GitHub working.
Create a simple Eclipse starter that uses a different JDK, e.g. with OpenJDK:
/Eclipse_Kepler_4.4.2/eclipse -vm /usr/lib/jvm/java-6-openjdk-i386/jre/bin
I got the similar problem. I just followed the below steps
1. Team > Remote > Configure Fetch from upstream...
2. Provide the https: bit bucket uri then Save and Fetch.
3. Reset the latest commit in your project. Team > Reset > Select the latest commit from remote folder
4. Then synchronize the workspace. Team > Synchronize (in synchronize perspective)
5. Right click on project and overwrite the local copy.
6. Click on Pull icon.
The Solution to this in Eclipse Mars 4.5.2:
Window -> Preferences -> Team -> Git -> Repository Settings -> AddEntry
Key: http.sslVerify
Value: false
For those who still have this problem, and none of the above solutions worked for you:
Update your versions of java and Eclipse.
In my case, I updated from java 7 to java 9, and Eclipse Mars to Eclipse Oxygen, and this problem was solved !!!
Add https.sslVerify as false...when you use https connection for importing from git
I had a similar problem and a quick fix to your issue is to make sure that you set your JVM option in the eclipse.ini file to use jre7. Older Jre's come with an old local policy file and this will return errors. One quick note also is that you need to point to your javaw not java.
-vm
c:\PROGRA~2\Java\jre745\bin\javaw.exe
-vmargs
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m
-Dsun.lang.ClassLoader.allowArraySyntax=true
I had my proxy settings set up in Eclipse and wasn't connected via ssh, which was causing the error.
i've tried all those methods but it didn't work then a workmate told me that Putty Key Generator used to generate keys with 1024 bits but now Putty generate 2048 bits keys by default , so you just need to change the "Number of bits in a generated key" and it should work.
The problem can also be caused by wrong system time (by a couple of years), making the Git's certificate invalid.
I just changed the Network settings from Native to Manual, restart and the error is gone.
I'm using RAD 8.0.4.3 with and old version of EGit connected to TFS/Git. ;-)
I got this error message because I had a different user than what the repo expected in my git config.
This would obviously trigger the SSL Cert failures mentioned above.
Fixing to the correct user resolved this issue for me.
to fix SSL issue you can also try doing this.
Download the NetworkSolutionsDVServerCA2.crt from the bitbucket server and add it to the ca-bundle.crt
ca-bundle.crt needs to be copied from the git install directory and copied to your home directory
cp -r git/mingw64/ssl/certs/ca-bundle.crt ~/
then do this. this worked for me
cat NetworkSolutionsDVServerCA2.crt >> ca-bundle.crt
git config --global http.sslCAInfo ~/ca-bundle.crt
git config --global http.sslverify true
I finally solved this issue by disabling IPv6 on the network configuration
Screenshot of my network configuration
Note that I use a VPN connection. If you do too, you must restart it.
I'm pretty sure that it will work even if you don't use a VPN.
The repository owner should give you a contributor permission:
For the Eclipse running on IBM JDK the following 2 lines are mandatory in eclipse.ini after -vmargs:
-Dhttps.protocols=TLSv1.1,TLSv1.2
-Dcom.ibm.jsse2.overrideDefaultTLS=true
i've had the same issue on Spring Tool Suite (STS) and turns out, all i had to do was update my proxy settings in STS network config.
window > preferences > General > Network Connections and on the dropdown select "Manual" from "Native".
Here, just add your proxy url, port and your credentials for http and https by clicking on edit.
Apply and close.
Hope it works for you.
I got this error and after some research found that we need to create an access token in github and use it instead of the password which we have been using till now while git push and pull.
Github developer blog explaining the password deprecation: https://developer.github.com/changes/2020-02-14-deprecating-password-auth/
I have documented the steps here - you may try it out and see if it works for you.
https://webfuse.in/blogs/issues-troubleshooting/git-upload-pack-not-permitted-on-error-while-git-pull-and-git-push/
Thanks. This looks like an evergreen Question as I am answering after 7 years along with other valid answers!! :)
I had the same error. The error occurred suddenly while working. In my case it looked like an account problem or server side problem.
I sign out and signed in again in Bitbucket repository from web browser and this solved my problem.
So I have been banging my head against the wall for days on this one. When I initially set up Subclipse and first connected to my local SVN repo, everything worked great. Not sure what's changed since then, but now I keep getting errors when trying to access the repo.
In SVN Repository Exploring perspective, if I double-click on my repo I get a popup that says "Problem Occured - Folder " does not exist remotely". In my console, I get this error:
Connection refused
svn: Unable to connect to a repository at URL 'svn://userid#localhost/home/userid/myrepository/java'
svn: Can't connect to host 'localhost': Connection refused
I have:
Eclipse Juno
Ubuntu 12.04
Subversion 1.7.8
I initially started off with Subclipse 1.6 and JavaHL 1.6 but have since upgraded to Subclipse 1.8.3/JavaHL 1.7.8.1 in my efforts to get everything working again.
I even uninstalled Eclipse and reinstalled, re-installed Subclipse and JavaHL, adding the JavaHL path to eclpise.ini... still can't access the repo.
I was accessing the repo locally in subclipse via "svn://userid#localhost/svn/home/userid/myrepository/java". I can access this repo locally from the command line just fine, and I can access this repo from another machine on my network using svn+ssh just fine.
What am I missing?
If the repository is local, you should be using a URL like file:///home/userID/myrepository/java
To use the svn:// protocol you must have svnserve running. The URL would then be something like:
svn://localhost/myrepository/java
When you use the svn+ssh:// protocol, the SSH daemon starts and launches svnserve in --tunnel mode within the SSH session. So it does not need or use a normal svnserve daemon server that may be running.
FWIW, it would probably be a good idea to run svnserve, but that means you will also need to configure it. But I would not use file:// URL using SVNKit. If you use JavaHL exclusively, then it is fine, but I would not let SVNKit write directly to my repository. Even though they do a great job testing and maintaining compatibility it is just easier to run svnserve and let SVNKit talk to it via the protocol.
since I use SpringSource ToolSuite 2.7.1 and installed the latest Subclipse Plugin (1.6.x), this plugin ask's me every time I commit something into the repo for my password, regardless I've enabled the 'Save Password' checkbox. As I know, the Subclipse plugin doesn't store the credentials itself, instead use the authentication informations from the underlying SVN adapter so I try the following without any success:
1) delete ~/.subversion/auth
2) delete ~/.eclipse_keyring
After restarting STS the password dialog prompts again every time.
With Eclipse Indigo and the same Subclipse Plugin installed, this strange behavior doesn't happend, the passowrd is taken automatically as expected.
If I use svn from the command line, after I initially enter my passwords, it's used automatically and doesn't annoying me any longer.
Any sugggestions, why this doesn't work under SpringSource Toolsuite ?
Kind regards
Dominik
SOLVED: the reason was, that the STS.app do not has access to the MacOS X KeyChain for the SVN password. So therefor it has to ask again and again. The used Eclipse.app was added as trusted app for accessing the stored svn password. Strangely, I can't add STS.app to the list of trusted apps for the SVS password entry, but thats another question here. If I activate the 'access for every program' checkbox, STS.app is enable to read this password and don't ask any longer !
I don't have much experience with the subclipse plugin. I tried it a few times some years ago and it didn't go well for me. I then switched to subversive. I have not experienced this problem with the subversive plugin, and so perhaps you could try switching and seeing if this will help you.
I would try deleting or renaming the ~/.subversion folder. There are also settings in the config and servers file that can prevent password storage. You also do not mention what access method you are using ... for example passwords are not stored for svn+ssh://
It would also be relevant to know if you are using JavaHL or SVNKit. JavaHL is native Subversion so passwords are cached in ~/.subversion/auth. SVNKit caches passwords in the Eclipse keyring, but I believe it will read from the SVN password cache if it is already there -- or at least used to.
Finally, since it works with Eclipse but not STS (and there should be no reason why) maybe check permissions? Is STS running as a different user for some reason?
The settings for the secure storage are equal. But it seems, that these setting aren't used, the mentioned file doesn't exist. In the meantime I've installed the STS 2.7.2 update and a fresh Subclipse Plugin, but without success, the dialog popups again for every commit. After that, I create a new user, copy the whole STS 2.7.2 install dir including Maven, tc and the just installed Subclipsed plugin to a dir shared for all users. I have to fix the file permissions of the maven subdir due to lack of read permissions for the new user. I checked out a project from svn and modified it. After the initially question for username/password, this dialog don't popups any longer. It seems, that for this new user, things went fine. I switch back to the original user and start STS 2.7.2. from exactly the same place, the shared dir. But ... you predict it ... the dialog popups again and again and again .... It seems to be something wrong with any of my user settings, but which one ? I've delete ~/.subversion/auth and the whole ~/.subversion too. No way to avoid the constant question for the password for the given user. Mhm, strange, any further tips or suggestions ?