what is the syntax for configuration of CVS repository using ssh
Asked by Gretchen:

I'm trying to connect to a CVS repository. I have done the following things:

created a \~/.ssh/authorized_keys file using **ssh-keygen -t dsa**

Then I tried to configure my repository root using:

:extssh:username:password@[server.name.org](http://g1pxcvs01.chi.frb.org):[22:/srv/cvs/repositoryname](http://22/srv/cvs/chicagoFed)

absolute path to the keyfile \~/.ssh/authorized_keys (which I copied the contents from the _dsa file into)

Entered my passphrase

Entered my module

I keep getting "Cannot connect to CVS root: Cannot open connection. Your server details / password may be incorrect"

And "This file you specified does not exist." for the keyfile.

given that server.name.org:22 should point to username's home directory this should be the correct path. also tried it with /home/username/.ssh/authorized_keys for the path.

Any suggestions? This is the first time we've tried connecting to a cvs repo. I'm assuming there is a built in CVS client in bamboo for the checkout. Do I need to install a CVS client?

Thanks in advance,


Answers:
author: David S.
body: Its been a few weeks since you posted this, but I just ran into the same situation. The answer is annoyingly stupid. According to the documentation:
> **CVS Root**
>
> The full path to your CVS repository root (e.g. `:`[pserver:me@cvs.atlassian.com:/cvsroot/atlassian](http://pserver:me@cvs.atlassian.com/cvsroot/atlassian)` `). Bamboo supports pserver, ext (ssh) and local repository access methods. Note that you can use global variables in this field (see [Bamboo variables](https://confluence.atlassian.com/display/BAMBOO/Bamboo+variables)).

However, having the server type at the beginning is incorrect for the way Bamboo 5.6 is using the string to make the connection. You just have to remove the server type from the beginning of that string (i.e., take off pserver, ext, extssh), so your string would look like

username@[server.name.org](http://g1pxcvs01.chi.frb.org):[/srv/cvs/repositoryname](http://22/srv/cvs/chicagoFed)

instead of

:extssh:username:password@[server.name.org](http://g1pxcvs01.chi.frb.org):[22:/srv/cvs/repositoryname](http://22/srv/cvs/chicagoFed)

The password part is defined below using the authentication type selection, so it's not needed in the repository string.

You'll also have to make sure the private key file (if you use one) is readable by the 'bamboo' user. For me, that's the issue that caused the "This file you specified does not exist" error on the keyfile.

comments: author: Gretchen
body: So I have a id_dsa file that I created and it is in /home/username/.ssh/id_dsa and the permissions are -rw-r----- That should have read permissions for the file owner (my username) I used the passphrase that I created when I created the dsa file.and used the command as listed above with the addition of the port delimited with the : (tried it without as well).I can still login to the CVS server using a terminal emulator so the account is not locked out. And I get the same error messages.:(Cannot connect to CVS root: Cannot open connection. Your server details / password may be incorrectThis file you specified does not exist.And I soooo wanted to accept your answer as my solution.


author: David S.
body: Bamboo runs as the 'bamboo' user, unless you have a different configuration set up. The id_dsa (private) key in your .ssh folder has specific permissions to only allow your username. You'll need copy that file somewhere accessible the bamboo user can access, that is still secure, or allow the bamboo user to see that folder (which I don't recommend).A quick test would be to "su" to root, then "su - bamboo" to fully become the bamboo user, and attempt to use the key to connect to your cvs machine."ssh -i /home/username/.ssh/id_dsa user@server.name.org" would be the way to check that the key is accessible as the bamboo user, and is properly configured on the cvs server to allow the automatic login.


author: Gretchen
body: username@server.org:/srv/cvs/repo was the end config for this in the cvsroot field.

unlike command line, you configure the connection type (extssh, pserver etc.) in the drop down fields not on the cvsroot field. This was the main point of confusion.   

SSH was the authentication type

With the Key file location on the local bamboo server (not the remote CVS server)  

Unfortunately the team trying to use this was on an older version of CVS and we were unable to make the connection work using any configuration due to timeouts that occurred on checkout.

<https://jira.atlassian.com/browse/BAM-1057> and <https://jira.atlassian.com/browse/BAM-2123> are two bamboo issues that appear to be related to our timeout problem.

<br />

<br />


Tags: bamboo-administration