blob: a9546d407d77b1f032667b82620f182900062452 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html lang="en">
<head>
<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2011. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
<meta content="text/css" http-equiv="Content-Style-Type">
<link type="text/css" charset="ISO-8859-1" href="../book.css" rel="STYLESHEET">
<title>Connecting and configuring CVS with SSH</title>
<meta content="team" name="keyword">
<script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js" type="text/javascript"> </script>
</head>
<body>
<h1>Connecting and configuring CVS with SSH</h1>
<p>Eclipse includes an SSH client for accessing a remote CVS server.
The client supports both the SSH1 and SSH2 protocol versions. To use SSH2
with a CVS repository select the <span style="font-weight: bold;">extssh</span>
connection type.</p>
<p>Different methods can be used to authenticate,
depending on the level of functionality and security you want. User authentication
methods used by the client by default are, in the following order: public-key,
Keyboard-Interactive, and password authentication.</p>
<h2>Authentication with Public Keys (keypair)</h2>
<p> Public-key authentication allows you to connect to a remote CVS server without
sending your password over the wire. This is a more secure authentication method
than password authentication. Public-key authentication uses two keys, a private
key that only you have--it should be kept in a secure place and protected with
a password. And the public key, which is placed on the server you wish to gain
access to.</p>
<p>
Eclipse supports generating both keys and you can copy the public key to the
server from within Eclipse. In order to use public key authentication follow
these steps:</p>
<ol>
<li>
<p>If you already have a private/public key for the CVS server, simply open the
<a class="command-link" href='javascript:executeCommand("org.eclipse.ui.window.preferences(preferencePageId=org.eclipse.jsch.ui.SSHPreferences)")'>
<img src="PLUGINS_ROOT/org.eclipse.help/command_link.png" alt="command link">
<em class="UILabel">General &gt; Network Connections &gt;&nbsp; SSH2</em></a>
preference page and on the <em class="UILabel">General</em> tab add your private key to the list
by selecting the <em class="UILabel">Add Private Key</em>
button. Your key will be used when authenticating.</p>
</li>
<li>
<p>If you don't have a keypair yet, in the preferences page, go to the <em class="UILabel">Key
Management</em> page.</p>
</li>
<li>
<p>Select either a <em class="UILabel">Generate RSA key</em>
(if your server supports version 1 of the protocol) or
<em class="UILabel">Generate DSA key</em> (for version 2).</p>
</li>
<li>
<p>A public key and private key will be generated. The public key
will be shown in the read-only text area. </p>
</li>
<li>
<p>The next step is to copy the public key to your server. If your
server is running an OpenSSH server than you can use the
<em class="UILabel">Export via sftp</em> action. Otherwise
you will have to copy and paste the public key into your remote
~/.ssh/authorized_keys file.</p>
</li>
<li>
<p>Now you have to provide a password for your private key, and
save
it on your computer.</p>
</li>
</ol>
<p>So now that you have your keypairs generated and installed, the next
time you create a CVS location to the server you shouldn't enter a
password. When the connection is initialized, you will be prompted for
the passphrase for your private key. This is the most secure method of
authentication, as long as your private key is protected with a
passphrase.</p>
<p>
<span style="font-weight: bold;">Note</span>: exporting the public key
is only supported on OpenSSH enabled SSH servers.</p>
<h2>Authentication with Passwords</h2>
<p>
If your server is configured to support password authentication, then
you can simply enter your password when you create a CVS repository
location and that password will be used when authenticating with the
server. This is the simplest authentication method.<br>
<br>
<span style="font-weight: bold;">Note</span>: To persist login credentials
in a safe, encrypted form <a href="../reference/ref-securestorage-start.htm">
Secure Storage</a> is used.</p>
<h2>Pserver over SSH2</h2>
<p>
The <span style="font-weight: bold;">pserverssh2</span> connection method allows you to use pserver
connections to a CVS repository over ssh2 port-forwarding without any
external ssh2 programs. The SSH2 connection information is encoded in the
<em class="UILabel">Host</em> field of the repository location: The format is:
</p>
<pre>ssh_user@ssh_host#port_number@cvs_host</pre>
<p>
where the port_number is only required if the SSH2 host's port is not 22.
</p>
<h2>Using Proxies</h2>
<p>Both the <span style="font-weight: bold;">extssh</span> and <span style="font-weight: bold;">pserver</span> connection
methods support the use the proxies specified on the
<a class="command-link" href='javascript:executeCommand("org.eclipse.ui.window.preferences(preferencePageId=org.eclipse.ui.net.NetPreferences)")'>
<img src="PLUGINS_ROOT/org.eclipse.help/command_link.png" alt="command link">
<em class="UILabel">General &gt; Network Connections</em></a>
preference page. If a SOCKS proxy is specified, it will be used. Otherwise, the specified SSL proxy will be used. If neither of these
proxy types are specified or if the host being contacted is in the host exclusion list, the connection will be made directly to the target host.</p>
<p><img alt="Related concepts"
src="../images/ngrelc.png" border="0"><br>
<a href="tasks-92.htm">Creating a CVS repository location</a><br>
<a href="../concepts/concepts-26.htm">Team programming with CVS</a> </p>
<p><img alt="Related reference"
src="../images/ngrelr.png" border="0">
<br><a href="../reference/ref-net-preferences.htm">Network Connections</a>
<br><a href="../reference/ref-47.htm">CVS</a>
</p>
</body>
</html>