You can simply setup your SSH key by typing in a terminal:
ssh-keygen -t dsaThen copy
~/.ssh/id_dsa.pub
at http://savannah.gnu.org/my/admin/editsshkeys.php (once logged
in).
Generally, if you can't access to your CVS trees or your download area, it means that your SSH access is not correctly configured. The only thing to do is to create a ssh-key and register it.
Note that if you're not member of any project, no account will created on the system - you will have your web account, but not system access. A system account will be created after you become a member of at least one project.
First, you need to create the ssh-key. In general, this is done by using
ssh-keygen -t dsaIt will ask you for a passphrase. Only this passphrase will be accepted for CVS or scp authentification, not the Savannah password. The public key will be placed at
~/.ssh/id_dsa.pub
.
You must register your public key in the Account Maintenance page (http://savannah.gnu.org/my/admin/editsshkeys.php). Make sure there are no line breaks except between keys - more information in the Account Maintenance page. After submitting, verify that the number of keys in your file is what you expected.
You can publish several public keys, which is often needed when you connect to Savannah from different computers. You can delete them when you do not use that key pair anymore.
Wait for the next cron job (in the worst case, 1 hour).
Try to download your CVS tree (take a look at your CVS project page - or read *How do I import my project into the CVS?*)
If, when (for example) you try to use CVS, it asks you for a password and not a passphrase, then means that your key is not recognized. It could be a matter of time (cron job) or, generally, it means that your key is not a correct SSH2 DSA key (the key registration page contains a sample key for you to compare). If you think you have done everything correctly, use the support manager (https://savannah.gnu.org/support/?group=administration) or write to savannah-help-public@gnu.org explaining your problem, providing copy/paste from the errors messages. It would also be good to provide the output from
cvs -t -d:ext:yourlogin@cvs.savannah.gnu.org/cvsroot/yourproject co yourprojectand the output from:
ssh -v yourlogin@cvs.savannah.gnu.org
When you try to cvs, it will reports the authenticity of
host subversions.gnu.org cannot be established, RSA key fingerprint is
80:5a:b0:0c:ec:93:66:29:49:7e:04:2b:fd:ba:2c:d5
.
Why RSA here and not DSA? This is the RSA fingerprint of the Savannah
site-wide server key. It is used to verify that the site you are
connecting to is well GNU Savannah, and not a fake website. It is
totally different from your SSH key.
When trying to connect, I get Protocol major versions differ: 1 vs. 2
First, you should know that here, on Savannah, we use SSH version 2. The error you got means that either:
/etc/ssh/ssh_config
, and replace
Protocol 1by
Protocol 2,1
Protocol 1or
Host cvs.savannah.gnu.org Protocol 1then simply remove it (or see next question).
It is necessary to specify Protocol 2
in the SSH
configuration files?
It is usually not needed to precise it in the SSH client
configuration files (~/.ssh/config
and
/etc/ssh/ssh_config
).
You can however add
Host cvs.savannah.gnu.org Protocol 2in that file when you think your SSH client will try to make a SSHv1 connection by default. You can incidentally do that as well to avoid a man-in-the-middle attack that tries to move the connection from protocol 2 to protocol 1 during its establishment, since v1 has some flaws and is more easily crackable).
My key has several lines, how do I enter it?
Note that we only support free implementations of SSH, such as
http://www.openssh.org. If you public key is several-lines-long, and
begins with ---- BEGIN SSH2 PUBLIC KEY ----
, then you are
using a proprietary version that we do not support.
Updated $Date: 2006/04/05 00:42:55 $