[m-rev.] for review: update page on remote CVS
David Overton
dmo at cs.mu.OZ.AU
Mon Mar 4 15:25:48 AEDT 2002
On Thu, Feb 28, 2002 at 07:16:00AM -0000, Peter Ross wrote:
> ssh is the prefered access mode, and if you could set up a page on
>
> http://www.mercury.cs.mu.oz.au/information/developers/remote_cvs.html
>
> on what needs to be done by both sides for ssh access that would be great.
Here it is Pete.
Would you like to review it?
David
Estimated hours taken: 0.5
Branches: main
w3/information/developers/remote_cvs.html:
Update this page to describe setting up remote write access via ssh
rather than pserver.
Change references to hydra to instead refer to cvs.mercury.
Index: remote_cvs.html
===================================================================
RCS file: /home/mercury1/repository/w3/information/developers/remote_cvs.html,v
retrieving revision 1.5
diff -u -r1.5 remote_cvs.html
--- remote_cvs.html 19 Oct 2001 05:24:33 -0000 1.5
+++ remote_cvs.html 4 Mar 2002 04:13:07 -0000
@@ -28,18 +28,19 @@
Anonymous Access:
<ul>
- <li> The CVS server is running on <b>hydra.cs.mu.oz.au</b>, and the
+ <li> The CVS server is running on <b>cvs.mercury.cs.mu.oz.au</b>,
+ and the
repository is in the directory <b>/home/mercury1/repository</b>
<li> The anonymous access account is called <i>guest</i> with a
password of <i>guest</i>
<li> To login (you need to do this just once)
<pre>
- cvs -d :pserver:guest at hydra.cs.mu.oz.au:/home/mercury1/repository login
+ cvs -d :pserver:guest at cvs.mercury.cs.mu.oz.au:/home/mercury1/repository login
</pre>
<li> The password is <i>guest</i>
<li> To checkout a module
<pre>
- cvs -d :pserver:guest at hydra.cs.mu.oz.au:/home/mercury1/repository checkout mercury
+ cvs -d :pserver:guest at cvs.mercury.cs.mu.oz.au:/home/mercury1/repository checkout mercury
</pre>
<li> There is a list of modules later in this page.
@@ -73,79 +74,64 @@
Getting Write Access:
<ul>
- <li> The CVS server uses password authentication. You need to
- have a password installed in CVS's password file on
- the server end. CVS stores your password (only very lightly
- encrypted) on your machine, so you won't have to remember your
- password or use it very often after you have logged in the
- first time.
-
- <li> Generate a password using standard UNIX /etc/passwd style
- passwords. *Do not* use your normal password. A good way to
- do this is change your password to something, copy the line
- from /etc/passwd, then change it back. If you have htpasswd
- installed using it is even easier. Only the username and
- encrypted password are needed.<p>
-
- e.g. myusername:s9FOR1a8DOxDs<p>
-
- (If your system uses shadow password files, the password field
- of /etc/passwd will not be meaningful; mail us if there is a problem).
- <p>
-
- If your encrypted passwd after you change it back looks different
- from what it looked like originally, do not worry. The encrypted
- form of your password depends not only on your password but also
- on a 16-bit value known as the "salt" that is generated randomly
- every time you change your password, and which is recorded in
- the encrypted password field itself.
-
- <li> Send the line with the username and encrypted password to the
- Mercury team, who will install it for you. If you have access to
- the CVS repository at the University of Melbourne, you can just
- add it to the file /home/mercury1/repository/CVSROOT/passwd.
-
- <li> Also, tell us what domain you're going to be accessing the
- repository from, so we can adjust our security setup to allow
- you access. If you don't say, we'll assume it is the same as your
- email address. (Mercury team - modify /etc/hosts.allow to
- allow that domain).
-
- <li> Access via Windows works just fine. Most firewalls are
- setup to allow CVS access through. You can get a free
+ <li> The preferred method for remote write access to the CVS repository
+ is through ssh (using version 2 of the ssh protocol) using public key
+ authentication.
+ You will need to install an ssh client on your machine if you do not
+ already have one.
+
+ <li> If you do not have an ssh version 2 key pair on your machine you
+ will need to generate one using
+ <pre>
+ ssh-keygen -t
+ </pre>
+
+ <li> Send your public key <tt>.ssh/id_rsa.pub</tt> to a member of the
+ Mercury team and get them to do the following steps:
+
+ <ol>
+ <li>
+ Create an account for the new user on
+ cvs.mercury.cs.mu.oz.au (a.k.a venus).
+ The password field in <tt>/etc/passwd</tt> should
+ contain only an asterisk (<tt>*</tt>)
+ to prevent the user logging in.
+ A good place for the user's home directory
+ is <tt>/home/venus/<i>username</i></tt>.
+ </li>
+ <li> Create a file <tt>.ssh/authorized_keys</tt> in the
+ user's home directory and add the user's public key to
+ that file. The key should be all on one line, and at
+ the start of the line you should add the string
+ <pre>
+ command="cvs server",no-port-forwarding,no-pty
+ </pre>
+ This prevents the user from doing anything with their
+ account except using the CVS server.
+ </ol>
+
+ <li>
+ Access via Windows should work just fine. Most firewalls are
+ setup to allow ssh access through. You can get a free
binary (and source) CVS for Windows from
<a href="http://www.cyclic.com/">www.cyclic.com</a>.
Also there is a product called
<a href="http://www.wincvs.com/">WinCVS</a> that should
work (although we haven't tried it ourselves).
-
- <li> There are some checks that are done via questions. In
- particular, our CVS repository does checks for up-to-date
- copyright messages on all files. These checks don't work very
- well using the CVS `pserver' as mentioned here -- when you check
- in it will complain that it doesn't know how to interact with
- you. Contact us if this is a big problem -- we know some
- workarounds.
</ul>
-Then (once you've been added to the passwd file):
+Then (once your account is set up):
<ul>
- <li> Set your CVSROOT environment variable to <p>
- <ul>
- <li>:pserver:username at hydra.cs.mu.oz.au:/home/mercury1/repository
- </ul>
-
- <p>
+ <li> Set your CVSROOT environment variable to
+ <pre>
+ :ext:username at cvs.mercury.cs.mu.oz.au:/home/mercury1/repository
+ </pre>
Make sure this environment variable is exported (in sh
based shells, "export CVSROOT", in csh based shells, use
"setenv" to set the environment variable in the first place).
- <li> Run "cvs login" to login to the server for the first time.
-
- <li> CVS will remember your password from now on (it is rather
- insecurely stored in a slightly jumbled manner in ~/.cvspass),
- so you rarely have to login again.
+ <li> Set your CVS_RSH environment variable to "ssh".
<li> You can do "cvs co mercury" to check out the main mercury
module. This can take a while over a slow connection, but you
--
David Overton Computer Science and Software Engineering
PhD Student The University of Melbourne +61 3 8344 9159
Research Fellow Monash University (Clayton) +61 3 9905 5779
--------------------------------------------------------------------------
mercury-reviews mailing list
post: mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------
More information about the reviews
mailing list