配置无密码 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 密钥
在客户端计算机上完成以下步骤:
输入以下命令,然后按回车键:
ssh-keygen -t rsa
(可选)为密钥键入密码,然后按 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 密钥
在客户端计算机上完成以下步骤:
通过 SSH 连接到服务器。 假设您使用的是 TortoiseSVN,请输入如下命令,并替换为适当的 AccountName 和 ServerName:
tortoiseplink AccountName@ServerName
出现提示时,输入您的密码以登录。
注意:如果您可以登录而不需要输入密码,则说明您的计算机/登录已在服务器上获得授权。跳过下一部分并直接执行下面的测试 SSH 连接。
继续执行在服务器上配置密钥。
在服务器上配置密钥
在服务器上(例如直接或通过 SSH/FTP),完成以下步骤:
确认服务器上存在 .ssh 文件夹。 输入以下命令,然后按回车键:
ls -al ~/.ssh
执行下列操作之一:
- 如果 ls 命令的结果表明该文件夹不存在,则在服务器上创建该文件夹,然后对密钥进行授权。 输入以下命令,并在每个命令后按回车键:
mkdir ~/.ssh
mv ~/temp_rsa.pub ~/.ssh/authorized_keys
- 如果该文件夹存在,则将密钥添加到服务器的授权列表。 输入以下命令,并在每个命令后按回车键:
cat ~/.ssh/authorized_keys ~/temp_rsa.pub > temp_keys
mv temp_keys ~/.ssh/authorized_keys
测试 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\Your User Name\AppData\Roaming\Subversion\config - Windows XP
C:\Documents and Settings\Your User Name\Application Data\Subversion\config - Mac OS X
/Users/Your User Name/.subversion/config
为 Mac OS 配置 Subversion
例如,在终端中输入 nano ~/.subversion/config。
ssh = $SVN_SSH /usr/bin/ssh
注意:要使用基于密钥的身份验证,请添加 -i PathToKey。E.g. ssh = $SVN_SSH /usr/bin/ssh -i PathToKey
或者,您可以通过添加 -l UserName -pw Password 将用户名和密码输入到此路径中。此方法不安全,因此 Adobe 不建议使用此方法。
为 Windows 配置 Subversion
打开文件并在隧道部分([tunnels] 下方)输入以下内容:
ssh = $SVN_SSH C:/PathToSSHClient/tortoiseplink.exe
注意:要使用基于密钥的身份验证,请添加 -i PathToKey。E.g. ssh = $SVN_SSH C:/PathToSSHClient/tortoiseplink.exe -i PathToKey
或者,您可以通过添加 -l UserName -pw Password 将用户名和密码输入到此路径中。此方法不安全,因此 Adobe 不建议使用此方法。
将您的站点设置为结合使用 Subversion 与 SSH
注意: 用户名和密码不是从 Dreamweaver 获取的。发送用户的唯一方式是在服务器名称字段中输入 AccountName@ServerName。
单击“测试”按钮以测试连接。
在根文件夹上右键单击 (Windows) 或按住 Ctrl 并单击 (Mac OS) 以显示菜单。