File: MacCVSSF.html

package info (click to toggle)
gcvs 1.0final-12
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 12,248 kB
  • ctags: 10,631
  • sloc: ansic: 71,709; cpp: 39,780; sh: 18,434; makefile: 1,915; yacc: 1,299; tcl: 1,283; perl: 910; lex: 249; csh: 185; lisp: 7
file content (196 lines) | stat: -rw-r--r-- 8,129 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
<HTML>
<HEAD>
  <META NAME="GENERATOR" CONTENT="Adobe PageMill 2.0 Mac">
  <TITLE>MacCVS On SourceForge</TITLE>
</HEAD>
<BODY BGCOLOR="#ffffff">

<H1 ALIGN=CENTER>MacCVS On SourceForge</H1>

<P>This is a description of how to go about doing development on SourceForge
using MacCVS. </P>

<P>SourceForge uses secure shell for communicating with clients. This presents
some um special challenges for Macintosh development. Fortunately, there
are currently two mechanisms for doing this:</P>

<UL>
  <LI><A HREF="#MacSSH">Using MacSSH</A>
  <LI><A HREF="#Linux">Using a Linux proxy</A>
</UL>

<P><HR ALIGN=LEFT></P>

<H2><A NAME="MacSSH"></A>Using MacSSH.</H2>

<P><A HREF="http://www.macssh.com/">MacSSH</A> is an open source SSH client
for the Macintosh. You will need version 2.1a9 or later of MacSSH and version
3.1.11 or later of <A HREF="http://www.cvsgui.org/">MacCVS</A>.</P>

<P>Let's say you work on PROJECT as USER with PASSWORD.</P>

<OL>
  <LI>Launch MacSSH
  <LI>Choose Favorites/Edit Favorites...
  <LI>Click &quot;New&quot; to create a new group of settings for the project.
  <LI>Under the &quot;General&quot; tab, enter the following:
  <OL>
    <LI>Alias: something like &quot;PROJECT Development&quot;
    <LI>Host Name: cvs.PROJECT.sourceforge.net
    <LI>Port: 22
  </OL>
  <LI>Under the &quot;Security&quot; tab, enter the following (note the quotation
  marks under &quot;Command:&quot;):
  <OL>
    <LI>Protocol: ssh2 (Secure Shell)
    <LI>Username: USER
    <LI>Password: PASSWORD
    <LI>Command: -N -E&quot;cvs -d /cvsroot/PROJECT server&quot;
  </OL>
  <LI>Under the &quot;SSH2&quot; tab, enter the following:
  <OL>
    <LI>Method: CVS Port forward
    <LI>Port:514
  </OL>
  <LI>Click OK (to save the new settings).
  <LI>Click OK (to close the Favorites list).
  <LI>Choose Favorites/PROJECT Development
  <LI>Accept the host key.
  <LI>Now, launch MacCVS
  <LI>Choose CVS Admin/Preferences...
  <LI>Under the &quot;General&quot; tab, enter the following:
  <OL>
    <LI>CvsRoot: USER@127.0.0.1:/cvsroot/PROJECT
    <LI>Authentication: RHosts
  </OL>
  <LI>Click OK.
</OL>

<P>You should now be able to start work on SourceForge. To check out a copy
of your project:</P>

<OL>
  <LI>In MacCVS, choose CVS Admin/Checkout module...
  <LI>Choose the folder to save the workspace tree in.
  <LI>Under the 'General&quot; tab, enter the following:
  <OL>
    <LI>Module: PROJECT
  </OL>
  <LI>Click OK.
</OL>

<P>MacCVS should now start checking out your module.</P>

<P>If the MacSSH tunnel gets closed for some reason (if MacSSH is shut down
or cvs accidentally closes it) just choose your configuration from the Favorites
menu as in step 9 above.</P>

<P><HR ALIGN=LEFT></P>

<H2><A NAME="Linux"></A>Using a Linux proxy.</H2>

<P>This method requires a Linux box, and may open you to security holes
as it uses rsh, but as long as your private network is secure and you use
a machine behind a firewall, this should not be a problem.</P>

<P>Let's say you work on PROJECT as USER with PASSWORD and you log in to
the proxy machine as PROXYUSER and your file sharing setup has you as MACUSER.
Here are the steps to setting this up:</P>

<OL>
  <LI><FONT COLOR="#000000">Choose a Linux box to use as a proxy. This should
  preferably not be visible to the outside world.</FONT>
  <LI><FONT COLOR="#000000">Open a <TT>telnet</TT> or <TT>ssh</TT> session
  on the proxy machine from your Macintosh, logging in as </FONT>PROXYUSER<FONT
   COLOR="#000000">.</FONT>
  <LI><FONT COLOR="#000000">Make sure <TT>ssh</TT> and <TT>cvs</TT> are installed
  on the proxy box:</FONT>
  <OL>
    <LI><FONT COLOR="#000000">Type <TT>which cvs</TT></FONT>
    <LI><FONT COLOR="#000000">Type <TT>which ssh</TT></FONT>
  </OL>
  <LI><FONT COLOR="#000000">Create a key using <TT>ssh-keygen</TT> (if you
  don't already have one), and don't give it a password. Store it in ~/<TT>.ssh/identity</TT>
  (i.e. in your home directory)</FONT>
  <LI><FONT COLOR="#000000">Upload the contents of <TT>~/.ssh/identity.pub</TT>
  (the text file) to </FONT>SourceForge<FONT COLOR="#000000">:</FONT>
  <OL>
    <LI><FONT COLOR="#000000">Copy the <TT>~/.ssh/identity.pub </TT>from your
    telnet application the clipboard</FONT>
    <LI><FONT COLOR="#000000">Go to your </FONT><A HREF="https://sourceforge.net/account/">account
    page</A><FONT COLOR="#000000">.</FONT>
    <LI><FONT COLOR="#000000">Click on &quot;</FONT><A HREF="https://sourceforge.net/account/editsshkeys.php">Edit
    Keys</A><FONT COLOR="#000000">&quot; at the bottom</FONT>
    <LI><FONT COLOR="#000000">Paste the key in, and remove any carriage returns.</FONT>
    <LI><FONT COLOR="#000000">Click &quot;Update&quot;</FONT>
  </OL>
  <LI><FONT COLOR="#000000">You may now have to wait several hours for your
  key to become active.</FONT>
  <LI><FONT COLOR="#000000">Create a file </FONT><TT><A HREF="config">~/.ssh/config</A></TT><FONT
   COLOR="#000000"> and replace PROJECT and USER strings with your values.
  This basically creates an ssh alias called PROJECT that uses the blowfish
  cipher and talks to the correct SourceForge server.</FONT>
  <LI><FONT COLOR="#000000">Create a script called &quot;</FONT><TT><A HREF=
  "cvsproxy">cvsproxy</A></TT><FONT COLOR="#000000">&quot; on the remote
  box in <TT>/usr/bin</TT> and make it world executable (<TT>chmod +x cvsproxy</TT>).
  This proxy takes its arguments and passes the first one to ssh as the host
  alias and the rest to cvs.</FONT>
  <LI><FONT COLOR="#000000">Add your Mac's hostname and <TT>MACUSER</TT>
  to your <TT>~/.rhosts</TT> file</FONT>
  <OL>
    <LI><FONT COLOR="#000000">Add a line<TT> machost.example.com MACUSER</TT></FONT>
    <LI><FONT COLOR="#000000">You may want to use the machine's IP address
    if it has no name.</FONT>
    <LI><FONT COLOR="#000000">You may wish to leave off the login to avoid
    problems with the File Sharing id.</FONT>
    <LI><FONT COLOR="#000000">Make sure that your .rhosts file has the correct
    permissions: <TT>-rw-r--r--</TT></FONT>
  </OL>
  <LI><FONT COLOR="#000000">Turn on <TT>rsh</TT>. Under Linux, this consists
  of the following steps:</FONT>
  <OL>
    <LI><FONT COLOR="#000000">Edit <TT>/etc/inetd.conf</TT> to include or uncomment
    a line looking like this:<BR>
    <TT>shell stream tcp nowait root /usr/sbin/tcpd in.rshd</TT></FONT>
    <LI><FONT COLOR="#000000">Restart the internet daemon. One of the following
    incantations should work:</FONT>
    <OL>
      <LI><FONT COLOR="#000000">Go to <TT>/etc/rc.d/init.d</TT> and type: <TT>./inet
      restart</TT></FONT>
      <LI><FONT COLOR="#000000">OR, as root, type <TT>kill -HUP inetd</TT></FONT>
    </OL>
  </OL>
  <LI><FONT COLOR="#000000">Set up MacCVS to connect via rsh. </FONT>
  <OL>
    <LI><FONT COLOR="#000000">Launch MacCVS</FONT>
    <LI><FONT COLOR="#000000">Choose CVS Admin/Preferences...</FONT>
    <LI><FONT COLOR="#000000">In the &quot;General&quot; panel, enter the following:</FONT>
    <OL>
      <LI><FONT COLOR="#000000">Authentication: &quot;Rsh&quot; </FONT>
      <LI><FONT COLOR="#000000">CVSROOT: </FONT>
    </OL>
    <LI><FONT COLOR="#000000">In the &quot;Ports&quot; panel, enter the following:</FONT>
    <OL>
      <LI><FONT COLOR="#000000">Check &quot;Check for an alternate server name&quot;
      </FONT>
      <LI><FONT COLOR="#000000">Alternate server: cvsproxy PROJECT</FONT>
    </OL>
    <LI><FONT COLOR="#000000">Click OK</FONT>
  </OL>
</OL>

<P><FONT COLOR="#000000"><BR>
This tells MacCVS to call <TT>cvsproxy</TT> on the proxy machine with the
arguments <TT>PROJECT</TT> and whatever other arguments would have been
passed to <TT>cvs</TT>. <TT>cvsproxy</TT> just turns around and executes
<TT>ssh PROJECT cvs</TT> with whatever arguments would have been passed
to <TT>cvs</TT>. <TT>rsh</TT> handles the flow of the data from there, and
it all Just Works.</FONT></P>

<P><HR ALIGN=LEFT></P>

<ADDRESS>This page is maintained by <A HREF="mailto:cvshawkfish@sourceforge.net">Richard
Wesley</A>. Many thanks to Jean-Pierre Stierlin for the MacSSH fixes and
directions and to Chris Nandor for the Linux proxy.</ADDRESS>
</BODY>
</HTML>