如我在《[Windows] 用Gitea架設自用的Git Server》一文所述,我們使用了Gitea來架設自己使用的Git Server,原本為了方便直接使用HTTP網址來複製儲存庫,但比較大的儲存經常都要同步很久(例如420MB的儲存庫需要費時18分鐘),只好看文件再摸索著把SSH服務啟動起來,試看看SSH會否速度較快。果然,改用SSH後同一個儲存庫只要約兩分鐘就完成了!速度實在差太多了。以下是在Gitea裡啟用SSH的步驟。
產生SSH金鑰
在Git Server上以下列指令產生SSH的金鑰:
cd /d c:\git安裝目錄\usr\bin ssh-keygen -t rsa -b 4096 -C "你的電郵@???.com"
執行ssh-keygen時需要輸入通行碼(Passphrase),必須記起來。私用金鑰與公用金鑰會一起產生到C:\Users\Administrator.ssh\id_rsa資料夾裡,檔名分別是id_rsa(私鑰)與id_rsa.pub(公鑰)。
設定Gitea
- 啟用SSH服務
修改Gitea的設定檔以啟用SSH服務,編輯 \Gitea安裝目錄\custom\conf\app.ini,加上下列設定:
[server] ... START_SSH_SERVER = true
設定好後必須重啟Gitea Server。
- 設定金鑰
瀏覽Gitea網站,由【用戶設定】→【SSH / GPG 金鑰】設定公鑰,在【管理 SSH 金鑰】頁面按【增加金鑰】,指定金鑰名稱,再於【金鑰內容】貼入公鑰檔id_rsa.pub的內容:
增加金鑰成功後會再顯示提示訊息:
到此主機端的設定就完成了。
Git client連線設定
在此以SmartGit當做Git client。遠端儲存庫第一次以 ssh:// 連線時會需要提供SSH client的連線資訊。
▼ 輸入儲存庫網址
▼ 指定SSH私鑰檔案與通行碼後按〔Login〕。
▼ 複製儲存庫的速度可達 4~6 MiB/s,HTTP則頂多100KiB/s~300KiB/s。
##
您可能也會有興趣的類似文章
- 使用SmartGit整合Subversion中央版本庫與Git本地端操作 (0則留言, 2017/05/05)
- 將Git分支名稱加到提示字元(Prompt)裡 (0則留言, 2014/09/02)
- 建立測試環境以git rebase -i變更Commit歷史 (0則留言, 2014/10/08)
- [Windows] 用Gitea架設自用的Git Server (0則留言, 2017/07/21)
- 撰寫git info工具以模擬svn info功能 (0則留言, 2014/09/01)
- Subversion版本庫匯入Git的步驟與SVN整合步驟 (0則留言, 2014/10/03)
- Git的Staging Area的中文翻譯探討 (2則留言, 2014/09/12)
- 為何無法正確執行git reset --hard HEAD^ (0則留言, 2014/09/20)
- Linus談Git與TortoiseGit (0則留言, 2008/12/19)
- 不用密碼以ssh連線到遠端主機 (0則留言, 2013/11/08)
- Nexus 7最推薦10大工作用Apps 十之八:文字編輯器-Jota+ Editor (0則留言, 2012/12/14)
- Galaxy S3的純文字編輯器:Jota Text Editor (0則留言, 2012/07/25)
- 地球上最大的Git版本庫是多大呢? (0則留言, 2017/05/25)
- 用FinchSync同步Thunderbird與HTC Touch HD的聯絡人資料 (3則留言, 2009/02/01)
- [Tools] 軟體KVM (15則留言, 2005/07/19)