在 Dreamweaver 中使用 SSH 設定 Subversion

上次更新時間 2021年4月27日

設定無密碼的 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 鍵。

此時會顯示一則確認訊息,表示私密及公開金鑰已儲存,並包括金鑰的儲存位置和名稱。

若要將公開金鑰複製到伺服器,請輸入類似以下的指令,並替換適當的 AccountNameServerName

scp .ssh/id_rsa.pub AccountName@ServerName:~/temp_rsa.pub

透過 SSH 連線到伺服器。 輸入類似以下的指令,並替換適當的 AccountNameServerName

ssh -l AccountName@ServerName

系統提示時請輸入您的密碼以登入。

備註如果您可以在系統不提示輸入密碼的情況下登入,表示您的電腦/登入已在伺服器上獲得授權。請略過下一個區段,並直接前往下方的測試 SSH 連線

在 Windows 上建立 RSA 金鑰

請在用戶端電腦上完成這些步驟:

開啟您的 RSA 金鑰產生器應用程式 (例如 PuTTYgen)。
產生一組 RSA 金鑰組。
儲存私密金鑰和公開金鑰。 剩餘步驟將假設您分別使用了 private_key 和 public_key 為其命名。
使用 temp_rsa.pub 名稱,將 ~/ 中的 public_key 放到伺服器上 (直接存取或透過 SSH/FTP)。

透過 SSH 連線到伺服器。 假設您使用 TortoiseSVN,請輸入類似以下的指令,並替換適當的 AccountNameServerName

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

在終端機中,找到上述您的使用者資料夾中的 .subversion 資料夾。 (在 Finder 中選擇「前往 > 前往檔案夾」,或在終端機中使用如 ls -al ~/.subversion 的命令。)
SSH 的路徑通常是「/usr/bin/ssh」。 如果您不確定,請在終端機中輸入 which ssh
使用文字編輯器 (例如 nano、pico 等) 開啟 Subversion 設定檔以進行編輯。

例如,在 Terminal 中輸入 nano ~/.subversion/config
請在通道區段中輸入以下內容 (在 [tunnels] 下方):

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

在 Windows 檔案總管中,找到上述您的使用者資料夾中的 Subversion 資料夾。
在文字編輯器中開啟檔案,例如記事本。
在 [tunnels] 區段中,指定 ssh 用戶端存在的位置。 此位置取決於您安裝的位置。

開啟檔案並在通道區段中輸入以下內容 (在 [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

開啟您的 Dreamweavere 網站定義,然後從類別清單選擇「版本控制」。
從「存取」選單中選取「Subversion」。
針對「通訊協定」選取「SVN+SSH」。
在「伺服器位址」欄位中輸入您的伺服器位址。
除非已包含在您的伺服器位址中,否則請在「儲存庫路徑」欄位中輸入儲存庫的路徑。
僅限 Dreamweaver CS4:
如果您的伺服器未使用預設 SSH 連接埠 (22),請選取「非預設」,然後輸入伺服器連接埠。
輸入使用者名稱和密碼。 如果使用匿名登入,請將這些欄位空白。

備註: 使用者名稱和密碼並非取自 Dreamweaver。傳送使用者的唯一方法是在伺服器名稱欄位中輸入 AccountName@ServerName

按一下「測試」按鈕以測試連線。

關閉「網站定義」對話方塊。
在「檔案」面板中,選擇「本機」檢視或「儲存庫」檢視。

按一下滑鼠右鍵 (Windows) 或 Ctrl+按一下 (Mac OS) 根資料夾即可顯示選單。

選擇「版本控制 > 取得最新版本」以更新檔案清單。