配置无密码 SSH 访问
配置 Subversion 或配置 Dreamweaver 以使用 SVN+SSH 之前,请先创建 RSA 密钥对并在服务器上配置公钥。此公钥/私钥对用于通过服务器进行身份验证,而不是以纯文本格式存储和传递密码。(可以不使用密钥对来配置 SSH;但由于不安全,因此 Adobe 不建议这样做。)
要配置 RSA 密钥,请在客户端计算机上创建私钥/公钥 RSA 密钥对。将公钥放在服务器上,然后在服务器上对该密钥进行授权。Adobe 还建议之后测试 SSH 连接以验证是否已正确配置。
注意:要完成这些步骤,需要访问客户端计算机(即从其连接的计算机)。这些步骤还需要访问服务器(例如直接或通过 SSH/FTP)。在 Windows 上,您需要访问 SSH 客户端(例如 TortoiseSVN)和 RSA 密钥生成器应用程序(例如 PuTTYgen)。Mac OS 附带 SSH 客户端和密钥生成器。
在 Mac OS 上创建 RSA 密钥
在客户端计算机上完成以下步骤:
-
打开一个终端窗口。
-
输入以下命令,然后按 Enter:
ssh-keygen -t rsa -
出现保存密钥的提示时,按 Enter 以选择默认位置。
-
(可选)为密钥键入密码,然后按 Return/Enter。如果键入了密码,则再次键入以确认,然后按 Return/Enter。
将显示确认消息,表明私钥和公钥已保存,包括存储位置和名称。
-
要将公钥复制到服务器,请输入如下命令并替换相应的 AccountName 和 ServerName:
scp .ssh/id_rsa.pub AccountName@ServerName:~/temp_rsa.pub -
通过 SSH 连接到服务器。输入如下命令,并替换相应的 AccountName 和 ServerName:
ssh -l AccountName@ServerName -
提示您登录时键入密码。
注意:如果未提示输入密码您即可登录,则您的计算机/登录名可能已在服务器上获得授权。跳过下一部分并直接执行下面的测试 SSH 连接。 -
继续执行在服务器上配置密钥。
在 Windows 上创建 RSA 密钥
在客户端计算机上完成以下步骤:
-
打开 RSA 密钥生成器应用程序(例如 PuTTYgen)。
-
生成一个 RSA 密钥对。
-
保存私钥和公钥。剩余步骤假定您分别使用名称 private_key 和 public_key。
-
在服务器上(例如直接或通过 SSH/FTP)使用名称 temp_rsa.pub 将 public_key 放入 ~/ 中。
-
通过 SSH 连接到服务器。假定您使用 TortoiseSVN,请输入如下命令并替换相应的 AccountName 和 ServerName:
tortoiseplink AccountName@ServerName -
提示您登录时键入密码。
注意:如果未提示输入密码您即可登录,则您的计算机/登录名可能已在服务器上获得授权。跳过下一部分并直接执行下面的测试 SSH 连接。 -
继续执行在服务器上配置密钥。
在服务器上配置密钥
在服务器上(例如直接或通过 SSH/FTP),完成以下步骤:
-
确认服务器上存在 .ssh 文件夹。输入以下命令,然后按 Enter:
ls -al ~/.ssh -
执行以下操作之一:
- 如果 ls 命令的结果表明该文件夹不存在,则在服务器上创建该文件夹,然后对密钥进行授权。输入以下命令并在输入每条命令后按 Enter:
mkdir ~/.ssh
mv ~/temp_rsa.pub ~/.ssh/authorized_keys
- 如果该文件夹存在,则将密钥添加到服务器的授权列表。输入以下命令并在输入每条命令后按 Enter:
cat ~/.ssh/authorized_keys ~/temp_rsa.pub > temp_keys
mv temp_keys ~/.ssh/authorized_keys
- 如果 ls 命令的结果表明该文件夹不存在,则在服务器上创建该文件夹,然后对密钥进行授权。输入以下命令并在输入每条命令后按 Enter:
测试 SSH 连接
完成上述步骤后,执行测试以确保您可以通过 SSH 连接到服务器并且不提示输入密码。
如果可以连接,但仍提示输入密码,请再次执行上文中适用的服务器端步骤。考虑通过在客户端上创建密钥对并再次执行剩余步骤来重新开始。
注意:生成密钥时,确保指定正确的服务器位数。2048 位比较常见。但是,如果您不能确定,请查看 Web 主机。
如果您仍无法连接并且不提示输入密码,请查看 OpenSSH 或 Web 主机以获得更多帮助。
将 Subversion 配置为使用 SSH
要将 Subversion 配置为使用 SSH,请将 SSH 客户端的路径和您的登录信息添加到 Subversion 配置文件。
注意:这些信息假定 Windows 用户使用 TortoiseSVN,Mac 用户使用 Mac OS SSH 客户端。
Subversion 配置文件的位置
要完成这些步骤,请首先打开要编辑的 Subversion 配置文件。配置文件位于以下文件夹之一中:
- Windows 7 和 Vista
C:\Users\您的用户名\AppData\Roaming\Subversion\config - Windows XP
C:\Documents and Settings\您的用户名\Application Data\Subversion\config - Mac OS X
/Users/您的用户名/.subversion/config
为 Mac OS 配置 Subversion
-
通过终端,在您的用户文件夹中查找上文中提到的 .subversion 文件夹。(在 Finder 中选择“前往”>“前往文件夹”或在终端中使用诸如 ls -al ~/.subversion 之类的命令。)
-
SSH 的路径通常为“/usr/bin/ssh”。如果您不确定,请在终端中输入 which ssh。
-
使用文本编辑器(例如 nano、pico 等)打开 Subversion 配置文件进行编辑。
例如,在终端中输入 nano ~/.subversion/config
。 -
在隧道部分中([tunnels] 下方)输入以下内容:
ssh = $SVN_SSH /usr/bin/ssh
注意:要使用基于密钥的身份验证,请添加 -i PathToKey。例如,ssh = $SVN_SSH /usr/bin/ssh -i PathToKey
或者,您可以通过添加 -l UserName -pw Password 在此路径中输入用户名和密码。此方法不安全,因此 Adobe 不建议使用此方法。
-
保存并关闭配置文件。
为 Windows 配置 Subversion
-
通过 Windows 资源管理器,在您的用户文件夹中查找上文中提到的 Subversion 文件夹。
-
在纯文本编辑器(如记事本)中打开文件。
-
在 [tunnels] 部分中,指定 ssh 客户端所在的位置。此位置取决于它的安装位置。
打开文件并在隧道部分中([tunnels] 下方)输入以下内容:
ssh = $SVN_SSH C:/PathToSSHClient/tortoiseplink.exe
注意:要使用基于密钥的身份验证,请添加 -i PathToKey。例如,ssh = $SVN_SSH C:/PathToSSHClient/tortoiseplink.exe -i
PathToKey
或者您可以通过添加 -l UserName -pw Password 在此路径中输入用户名和密码。此方法不安全,因此 Adobe 不建议使用此方法。
-
保存并关闭配置文件。
将您的站点设置为结合使用 Subversion 与 SSH
-
打开 Dreamweaver 站点定义,然后从类别列表中选择“版本控制”。
-
从“访问”菜单中,选择“Subversion”。
-
为“协议”选择 SVN+SSH。
-
在“服务器地址”字段中输入服务器地址。
-
在“存储库路径”字段中输入存储库路径(除非已包含在服务器地址中)。
-
仅适用于 Dreamweaver CS4:
-
如果您的服务器不使用默认 SSH 服务器端口 (22),则选择“非默认值”,然后输入服务器端口。
-
输入用户名和密码。对于匿名登录,将这些字段保留为空。
注意:用户名和密码不从 Dreamweaver 获取。发送用户的唯一方式是在服务器名称字段中输入 AccountName@ServerName。
-
-
单击“测试”按钮以测试连接。
-
关闭“站点定义”对话框。
-
在“文件”面板中,选择本地视图或存储库视图。
-
在根文件夹上右键单击 (Windows) 或按住 Ctrl 并单击 (Mac OS) 以显示菜单。
-
选择“版本控制”>“获取最新版本”以更新文件列表。