設定無密碼的 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
(選用) 為金鑰輸入複雜密碼,然後按 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 資料夾存在於伺服器上。 輸入以下指令,然後按 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
測試 SSH 連線
一旦完成上述步驟,請測試是否能夠在沒有輸入密碼提示的情況下,透過 SSH 連線到伺服器。
如果您可以連線,但仍收到輸入密碼的提示,請重複上述適用的伺服器端步驟。 請考慮在用戶端建立金鑰組以重新開始,然後重複剩餘步驟。
注意: 產生金鑰時,請務必為伺服器指定正確的位元數。 2048 位元相當常見。 但是,如果不確定位元數,請詢問您的網路代管。
如果您在連線時仍然會收到輸入密碼的提示,請參閱 OpenSSH 或洽詢您的網站代管以取得額外協助。
設定 Subversion 使用 SSH
若要設定 Subversion 使用 SSH,請在 Subversion 設定檔中新增 SSH 用戶端的路徑和您的登入資訊。
注意: 此資訊會假設 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
例如,在 Terminal 中輸入 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 不建議這麼做。
設定網站以透過 SSH 使用 Subversion
備註: 使用者名稱和密碼並非取自 Dreamweaver。傳送使用者的唯一方法是在伺服器名稱欄位中輸入 AccountName@ServerName。
按一下「測試」按鈕以測試連線。
按一下滑鼠右鍵 (Windows) 或 Ctrl+按一下 (Mac OS) 根資料夾即可顯示選單。