windows下git庫的ssh串連,使用public key的方法

來源:互聯網
上載者:User

在windows下進行項目開發,使用git,通過ssh方式與git庫串連,而ssh方式用public key實現串連。

首先需要下載mygit,安裝後使用git bash。git bash(有GUI介面,如安裝TortoiseGit後就可以使用)。我主要使用命令列,其命令列系統類別似linux環境的基本操作命令,可以直接看到c:,如cd /d/mygitwork,進入我的D盤下的工程目錄,放置開發的工程。

 

我的操作:在windows的git bash中用ssh -keygen ssh -keygen -t rsa產生了金鑰組,cp .ssh/id_rsa.pub authorized_keys 改名。 將這個key交給同事,他作為github上的庫建立者,添加到工程git庫中,我clone該git庫後,就可以使提交代碼了,具體步驟:

如果已經用自己郵箱產生過ssh key,可以省去步驟1和2
1、產生ssh-key
ssh-keygen -t rsa -C "XXX@company.com"

2、重新命名ssh-key
cp ~/.ssh/id_rsa.pub ~/.ssh/XXX@company.com.pub

3、發送郵件給git庫負責人,由其添加到git庫中,獲得使用許可權,將~/.ssh/xxx@company.com.pub放入郵件附件

 

與git庫串連:ssh方式要利用public key實現寫功能。

(一般公司會搭建自己的git伺服器,如果是自己,可以使用免費的git 伺服器github。具體的使用,在後面介紹)

git庫建好後,用git clone串連,但這樣的庫,只有讀功能,沒有寫功能。如果想寫,必須用ssh方式,串連後,提交自己的public key,由該庫的管理員將該public key添加到git庫,產生存取權限。

public key 的原理在這裡有介紹http://hi.baidu.com/beijiqieys/item/4643900f6ae51223a0312dc8

具體的命令是用ssh -keygen -t rsa產生金鑰組,在用戶端上建立一對公私密金鑰 (公開金鑰檔案:~/.ssh/id_rsa.pub; 私密金鑰檔案:~/.ssh/id_rsa)
然後把公開金鑰放到伺服器上(~/.ssh/authorized_keys), 自己保留好私密金鑰.在使用ssh登入時,ssh程式會發送私密金鑰去和伺服器上的公開金鑰做匹配.如果匹配成功就可以登入了。

將公開金鑰檔案複製到遠程伺服器上:

$ scp ~/.ssh/id_dsa.pub user@remote.host:pubkey.txt
$ ssh user@remote.host
$ mkdir ~/.ssh
$ chmod 700 .ssh
$ cat pubkey.txt >> ~/.ssh/authorized_keys
$ rm ~/pubkey.txt
$ chmod 600 ~/.ssh/*
$ exit

//許可權的設定非常重要,因為不安全的設定安全設定,會讓你不能使用RSA功能。

cat .ssh/id_rsa.pub | ssh user_B@your_ip "cat - >> /root/.ssh/authorized_keys"

也可以用

           ssh-keygen     #產生認證。

           ssh-copy-id -i id-rsa.pub 使用者@ip    #把認證傳到遠端那個機器上 並 產生authorized_keys檔案。

 

github上的庫建立:

建立Github Repository,註冊Github賬戶(https://github.com/),在GitHub,一個項目對應唯一的Git版本庫,建立一個新的版本庫就是建立一個新的項目。訪問儀表板(Dashboard)頁面,如下圖所示,可以看到關注的版本庫中已經有一個,但自己的版本庫為零。在顯示為零的版本庫列表面板中有一個按鈕“New Repository”,點擊該按鈕開始建立新版本庫。

我們為建立立的版本庫命名為“kxt-example”,相應的項目名亦為“ kxt-example ”,建立完畢後訪問項目頁,提示版本庫尚未初始化,並給出如何初始化版本庫的協助,如下圖所示(由於我的kxt-example已經初始化過了,所以下面的圖片是截另一個未初始化的項目)。務必要 set up git,這個官網已經講的很清楚了,這裡不再介紹。

注意任何GitHub使用者均可使用該URL訪問此公開版本庫,但只有版本庫建立者luffyke具有讀寫權限,其他人只有唯讀許可權。在初始化版本庫之前,最好先確認是否是用正確的公開金鑰進行認證。  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.