| <!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 > Network Connections > 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 > 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> |