设置 TortoiseSVN(在 Windows 上)到 Bluehost Subversion 服务器的 SSH 隧道
我在设置时遇到了很多麻烦,所以我希望这可以成为其他人的资源。请修复你在我的说明中发现的任何错误。
1. 请求 SSH 访问
您需要 SSH 访问权限,因此请确保通过 CPanel 上的“SSH/Shell 访问”选项请求该访问权限。
2.下载 SSH 客户端
你还需要一个 SSH 客户端,因此请下载最新版本的油灰。您还需要一个 FTP 客户端;我建议档案。
3.安装Subversion
使用 PuTTY 登录您的服务器并按照以下说明安装 Subversion(您可能需要继续更新版本号): http://www.bluehostforum.com/showthread.php?12099-在Bluehost 上设置Subversion
/home/username/svn
使用本教程,通过创建存储库并将项目导入其中,确保您正确安装了 Subversion:
http://svnbook.red-bean.com/en/1.5/svn.intro.quickstart.html
4.创建 SSH 身份验证密钥对
Bluehost 不允许我们直接通过 SSH 建立隧道(阅读更多),所以我们需要设置一些身份验证密钥。
您可以使用本教程通过 SSH 执行此操作: http://tortoisesvn.net/ssh_howto
或者您可以直接登录 CPanel 并通过“SSH/Shell 访问”选项 GUI 创建 SSH 密钥。无论哪种方式,请确保您授权密钥(通过手动将其添加到authorized_keys
上述教程中或通过 CPanel GUI 界面)。
记得为你的密钥提供一个密码。许多教程建议将其留空,这样 TortoiseSVN 就不会提示你输入密码。但是,我们可以为这个目的设置 Pageant,而无需创建不安全的 SSH 密钥。
5.转换私钥
完成第 5 步后,您应该会同时拥有一个私钥文件(例如id_dsa
)和一个公钥文件(例如id_dsa.pub
)。将私钥文件下载到您的桌面。
下载PuTTYgen。
打开 PuTTYgen,转到 Conversions > Import Key,然后在桌面上找到您的私钥文件。输入您的私钥密码,然后单击“Save private key”。将转换后的 PuTTY 密钥保存到您能记住(且不会更改)的地方。
6.创建PuTTY会话
打开PuTTY并输入以下字段:
会话 > 主机名:(您的主机名)会话 > 已保存的会话名称:“Subversion”连接 > SSH > 身份验证 > 用于身份验证的私钥文件:(您的转换后的私钥)
返回“会话”屏幕,然后单击“已保存的会话”附近的“保存”以保存此信息。
现在会话已创建,请在“已保存的会话”中选择“Subversion”,单击“加载”,然后单击“打开”。系统将要求您输入用户名和密码,然后您便可以访问服务器。
7.在 Pageant 中配置 PuTTY 会话
下载盛会。
打开 Pageant,它应该会出现在你的任务栏中。右键单击 Pageant 图标并选择“添加密钥”。找到你的私钥文件,然后输入你的密码。
再次打开 PuTTY 并使用“Subversion”会话重新连接。系统会要求您输入用户名,但您不再需要输入密码。
8.将 svnserve 路径命令添加到授权密钥中
找到并authorized_keys
修改/home/username/.ssh/
此文件,以便在您的密钥之前出现以下内容(Pageant 可能会阻止您的 FTP 客户端,因此您可能需要关闭它):
command="/home/username/bin/svnserve -t" (KEY NAME) (KEY)
(来源:http://www.mikespicer.net/wp/?p=41)
9.连接TortoiseSVN
下载并安装TortoiseSVN。
打开 Pageant 并再次添加您的私钥。
右键点击某处,选择“TortoiseSVN > RepoBrowser”,会出现一个对话框,输入“svn+ssh://username@Subversion/home/bin/svn”。
您现在应该可以看到您的存储库了(终于!)。
答案1
故障排除
仍有许多事情可能出错:
您可能已
mesg y
启用.bashsrc
: http://kb.yarmakconsulting.com/2009/05/network-connection-closed-unexpectedly.htmlPuTTY 中的默认会话可能会把事情搞乱:http://tortoisesvn.tigris.org/faq.html(在底部)
如果仍然不起作用,请下载并安装SilkSVN。这将允许您直接从 MS-DOS 命令提示符发出 Subversion 命令。
下载普林克也一样。
查找您的本地 Subversion 配置文件:C:\Users\YOUR_LOCAL_USERNAME\AppData\Roaming\Subversion\config(来源),并在该部分中添加以下内容[tunnels]
:
ssh = c:\\path\\to\\plink.exe
现在打开命令提示符并尝试以下命令(确保 Pageant 正在使用您的密钥运行):
svn+ssh://username@Subversion/home/username/svn
现在您将获得比通过 TortoiseSVN 更详细的错误消息。