設定無密碼的 SSH 存取
在針對 SVN+SSH 設定 Subversion 或 Dreamweaver 之前,請先建立一個 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 為其命名。
-
使用 temp_rsa.pub 名稱,將 ~/ 中的 public_key 放到伺服器上 (直接存取或透過 SSH/FTP)。
-
透過 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 位元相當常見。但是,如果不確定位元數,請詢問您的網路代管。
如果您在連線時仍然會收到輸入密碼的提示,請參閱 OpenSSH 或洽詢您的網站代管以取得額外協助。
設定 Subversion 使用 SSH
若要設定 Subversion 使用 SSH,請在 Subversion 設定檔中新增 SSH 用戶端的路徑和您的登入資訊。
注意: 此資訊會假設 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 區段 (在 [tunnels] 之下) 中輸入以下內容:
ssh = $SVN_SSH /usr/bin/ssh
注意: 若要使用金鑰式驗證,請新增 -iPathToKev。例如 ssh = $SVN_SSH /usr/bin/ssh -i PathToKey
或者,您也可以輸入進入此路徑的使用者名稱和密碼,方法是新增 -l UserName -pw Password。此方法並不安全,因此 Adobe 不建議這麼做。
-
儲存並關閉設定檔。
為 Windows 設定 Subversion
-
在 Windows 檔案總管中,找到上述您的使用者資料夾中的 Subversion 資料夾。
-
在文字編輯器中開啟檔案,例如記事本。
-
在 [tunnels] 區段中,指定 ssh 用戶端存在的位置。此位置取決於您安裝的位置。
開啟檔案並在 tunnels 區段中輸入以下內容 (在 [tunnels] 之下):
ssh = $SVN_SSH C:/PathToSSHClient/tortoiseplink.exe
注意: 若要使用金鑰式驗證,請新增 -i PathToKey。例如 ssh = $SVN_SSH C:/PathToSSHClient/tortoiseplink.exe -i
PathToKey
或者,您也可以輸入進入此路徑的使用者名稱和密碼,方法是新增 -l UserName -pw Password。此方法並不安全,因此 Adobe 不建議這麼做。
-
儲存並關閉設定檔。
設定網站以透過 SSH 使用 Subversion
-
開啟您的 Dreamweavere 網站定義,然後從類別清單選擇「版本控制」。
-
從「存取」選單中選取「Subversion」。
-
針對「通訊協定」選取「SVN+SSH」。
-
在「伺服器位址」欄位中輸入您的伺服器位址。
-
除非已包含在您的伺服器位址中,否則請在「儲存庫路徑」欄位中輸入儲存庫的路徑。
-
僅限 Dreamweaver CS4:
-
如果您的伺服器未使用預設 SSH 連接埠 (22),請選取「非預設」,然後輸入伺服器連接埠。
-
輸入使用者名稱和密碼。如果使用匿名登入,請將這些欄位空白。
注意: 使用者名稱和密碼並非從 Dreamweaver 取得。傳送使用者的唯一方法是在伺服器名稱欄位中輸入 AccountName@ServerName。
-
-
按一下「測試」按鈕以測試連線。
-
關閉「網站定義」對話方塊。
-
在「檔案」面板中,選擇「本機」檢視或「儲存庫」檢視。
-
按一下滑鼠右鍵 (Windows) 或 Ctrl+按一下 (Mac OS) 根資料夾即可顯示選單。
-
選擇「版本控制 > 取得最新版本」以更新檔案清單。