2018年12月22日 星期六

在Windows上使用SourceTree透過SSH連接Gitea


一般來說,我都直接使用Http直接Pull或Push檔案到Gitea,不過跟GitHub一樣,Gitea也是可以透過SSH來連線,因為我是使用SourceTree來操作,所以這篇就說說怎麼使用SourceTree透過SSH來連線



Gitea設定SSH

首先要確定Gitea的SSH是否有啟用,這時先打開Gitea安裝目錄下的\custom\conf\app.ini檔案,

檔案路徑依每人安裝Gitea而有所不同,我的例子是在C:\gitea\底下

打開檔案後,找到[server]區塊,並添加一行START_SSH_SERVER: true


對於app.ini的設定,可以查看Gitea的官方文件有詳細說明,設定好並存檔完成後,記得要重新啟動Gitea。

接下來,由於後面的步驟會將公鑰上傳至Gitea,這時Gitea會使用到ssh-keygen.exe的檔案,所以要先設定好windows環境變數

先打開windows環境變數的設定介面後,在下方的系統變數中找到變數Path,選取後並按下編輯鈕


在編輯系統變數視窗中,在變數值的最後面加上C:\Program Files\Git\usr\bin;
(注意,在最後面加上路徑時,要注意前面的值最後是否已有加上「;」,若沒有加上分號,則值興值要以 「;」隔開)


添加完後按下確定將視窗關閉就可以了,完成以上二個設定,對於Server方面來說都已設定完了

產生SSH KEY

我使用SourceTree內建的軟體PuTTY Key Generator來產生金鑰,這是安裝SourceTree時會一併安裝的,就不需要另外安裝了

首先打開SourceTree後,在上方選單中的Tool裡選取Create or Import SSH Keys來打開PuTTY Key Generator

打開PuTTY Key Generator後,點選中間的Generate按鈕,


然後在上方的Key那個區域內,隨機移動滑鼠,進度條就會開始跑動,等進度條滿了以後金鑰也就會產生完成
在紅線框內隨機移動滑鼠


金鑰產生完了以後,在同一個視窗中還有其他選項可以填



Key comment: 註解
Key passphrase: 私鑰密碼,選填項,可以不填
Confirm passphrase: 確認密碼

都確認好後,就可以進行保存了
Save public key: 儲存公鑰
Save private key: 儲存私鑰,儲存時記得檔名要連副檔名.ppk一併輸入,否則不會有副檔名

Gitea設定公鑰

登入Gitea後,先點選設定

進入選定頁後,再點選SSH/GPG金鑰頁籤切換頁面,再點選管理SSH金鑰的增加金鑰按鈕


金鑰名稱:輸入好記好辨識的名稱即可
金鑰內容:將剛剛產生出來的公鑰內容貼上

最後按下下方的增加金鑰按鈕進行添加,成功後就可以看到畫面上會新增剛剛添加的金鑰

若此時出現500的錯誤頁面,則可以先檢查一下上面步驟的添加環境變數的部份是不是有設定了,若還是不行,則可以在Gitea所在目錄下的Log資料夾內查看Log記錄

本機設定私鑰

剛剛在執行SourceTree產生金鑰時,其實也有把Putty Authentication Agent也執行起來了,這時打開View Keys

在Pagent Key List視窗中,再點選Add Key按鈕,將剛剛產生的私鑰(就是上面提到的副檔名.ppk的那個檔案)添加進來,如果在產生金鑰時有輸入密碼,則此時會要求輸入密碼

最後可以看到多了一條項目,顯示剛添加進來的私鑰


使用SourceTree連接Gitea

首先我們先複製要連接的Gitea上的儲存庫的SSH位置,可以在該項目的頁面上找到


執行SourceTree,在上方工具列中點選Clone


將剛剛找到的儲存庫位置貼上,SourceTree就會自動進行連線


此時會彈出是否要接受密碼的提示框,選YES

連接成功後,最下面的Clone按鈕就會變成可以點擊,這時就按下Clone按鈕把檔案下載下來吧

下載完成後,就可以開始使用了


沒有留言:

張貼留言