webapp: Better ssh password prompting.

When setting up a remote on a ssh server, prompt for a password inside the
webapp, rather than relying on ssh's own password prompting in the terminal
the webapp was started from, or ssh-askpass.

Avoids double prompting for the ssh password (and triple-prompting on
windows for rsync.net), since the entered password is cached for 10 minutes
and this cached password is reused when setting up the repository, after
the initial probe.

When the user has an existing ssh key set up, they can choose to use it,
rather than entering a password. The webapp used to probe for this case
automatically, so this is a little harder, but it's an advanced user thing.

Note that this commit is known to break enabling existing rsync
repositories. It hs not been tested with gcrypt repositories. It's not been
successfully tested yet on Windows.

This commit was sponsored by Ralph Mayer.
This commit is contained in:
Joey Hess 2014-05-14 15:02:18 -04:00
parent e391224516
commit 85e9e8c0cf
8 changed files with 112 additions and 72 deletions

View file

@ -41,5 +41,3 @@
<div .modal-body>
<p>
This could take a minute.
<p>
You may be prompted for your rsync.net ssh password.

View file

@ -30,5 +30,3 @@
<div .modal-body>
<p>
Checking ssh connection to the server. This could take a minute.
<p>
You may be prompted for your password to log into the server.

View file

@ -9,6 +9,5 @@
Setting up repository on the remote server. This could take a minute.
$if needsPubKey sshdata
<p>
You will be prompted once more for your ssh password. A ssh key #
is being installed on the server, allowing git-annex to access it #
securely without a password.
A ssh key is being installed on the server, allowing git-annex #
to access it securely without a password.

View file

@ -7,5 +7,3 @@
<div .modal-body>
<p>
Checking ssh connection to the server. This could take a minute.
<p>
You may be prompted for your password to log into the server.