Win平臺GitExtention使用OpenSSH連接Git服務器設置

設置

1. 運行:ssh-keygen -t rsa,生成密鑰文件id_rsa.pub和id_rsa;

2. 密鑰文件id_rsa.pub和id_rsa拷貝到C:\Users\<用戶名>.ssh\目錄下;

3. ssh目錄下新建文件config,輸入內容:

Host <服務器IP>
User <服務器用戶>
port <服務器SSH端口,默認22>
IdentityFile  C:/Users/<用戶名>/.ssh/id_rsa

4.克隆gitolite管理倉庫,注意只有gitolite管理員賬戶有權限訪問管理倉庫,也就是說只有使用管理員密鑰的客戶端可以訪問gitolite管理倉庫;

5.將id_rsa.pub文件加入管理倉庫keydir目錄,然後提交服務器;

6.GitExtention設置裏面更改SSH類型爲OpenSSH。

問題

1.OpenSSH連接服務器失敗。

  • Git命令行模式下,使用如下命令顯示詳細的登錄信息。
$ssh -v <服務器用戶>@<服務器IP>
  • 錯誤信息:key type ssh-dss not in PubkeyAcceptedKeyTypes
原   因:OpenSSH 7.0以上版本默認不支持ssh-dss密鑰。
解決方法一:使用rsa參數生成密鑰,而不是dss。
解決方法二:客戶端機器~/.ssh/config裏面添加PubkeyAcceptedKeyTypes=+ssh-dss。如果服務器端爲7.0以上版本,則/etc/ssh/sshd_config也需要添加PubkeyAcceptedKeyTypes=+ssh-dss

2.gitolite管理員密鑰丟失

  • 登錄服務器,將新用戶的公鑰拷貝到服務器,並改名爲新用戶名(gitolite默認使用公鑰文件名作爲用戶名,例:admin.pub);

  • 運行如下命令將新用戶公鑰手動加入gitolite公鑰庫

~/bin/gitolite setup -pk ~/admin.pub
  • 進入gitolite管理倉庫對應目錄,一般是repositories/gitolite-admin.git目錄下,手動編輯gl-conf,更改管理倉庫訪問用戶名爲新的用戶名。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章