bert
[Entry]
"Well, I do want to enter a password - I don't like relying on my password being saved somewhere; however, I do want to enter it once per set of svn+ssh commands; and often, you just want to do one svn checkout - and have to enter tons of passwords anyways. It is in such a case I'd like to type a password only once.
So, only answers by @Boinst and @Marius were relevant for my use case; unfortunately, they didn't help, as I couldn't get them to work. I wonder if the post authors themselves tried the commands out before posting them, as now I cannot imagine how they could work - here's a test I did locally on my Ubuntu 10.04 PC (and I break with Ctrl-C, each time I see the password prompt appear):
$ svn --version | head -1 svn, version 1.6.6 (r40053)
$ cd /tmp $ svnadmin create myrepo $ read -p 'ssh myself@127.0.0.1? ' PASS ssh myself@127.0.0.1? [type _PASSWORD_, press ENTER]
## trying first with superuser.com/a/71479/39752 # (specify in URL user:pass separated by colon)
## plain ssh - asks for password anyway:
$ ssh myself:$PASS@127.0.0.1 myself:_PASSWORD_@127.0.0.1's password: ^C
# svn - with just username, as expected:
$ svn co svn+ssh://myself@127.0.0.1/tmp/myrepo myrepo-wc myself@127.0.0.1's password: ^C svn: Network connection closed unexpectedly
# svn - with password added to URL, asks for password anyway:
$ svn co svn+ssh://myself:$PASS@127.0.0.1/tmp/myrepo myrepo-wc myself:_PASSWORD_@127.0.0.1's password: ^C svn: Network connection closed unexpectedly
# trying then with superuser.com/a/380426/39752, superuser.com/a/327822/39752 # (--non-interactive and --username/--password on command line)
# svn - asks for password anyway:
$ svn co svn+ssh://myself@127.0.0.1/tmp/myrepo --non-interactive --trust-server-cert --username myself --password $PASS --no-auth-cache myself@127.0.0.1's password: ^C svn: Network connection closed unexpectedly
As far as --username/--password on svn command line is concerned - that doesn't matter with svn+ssh, because it's ssh asking, not svn:
svn - Subversion ignoring ""--password"" and ""--username"" options - Stack Overflow
The prompt you're getting doesn't look like Subversion asking you for a password, it looks like ssh asking for a password.
Additionally, as the log shows, ssh itself doesn't accept ""username:password@..."" in the URL - and so neither does svn. Why it is acceptable to use only username in the URL in svn, is probably explained in ~/.subversion/config:
### (If the URL includes a username, then the hostname will be ### passed to the tunnel agent as @.)
Notice nothing is said about <user>:<pass>@<hostname>.
Now, thanks to the page Subversion over SVN+SSH on Debian, I finally realized there is a SVN_SSH environment variable used in ~/.subversion/config for the (I guess) ssh tunnel; and that finally opens up the possibility to use the program sshpass to handle the password in such a one-way manner:
$ SSHPASS=$PASS SVN_SSH=""sshpass -e ssh"" svn co svn+ssh://myself@127.0.0.1/tmp/myrepo myrepo-wc Checked out revision 0.
Well, at least I'm glad I finally found a solution that works for me - hope this helps someone else, too, Cheers!"
|