[git] cygwin + git + github + openssh + jenkins除錯過程記錄

posted in: 未分類 | 0

 

1.安裝cygwin,並將Devl跟shell打勾

2.使用openSSH來產生public/private key pair:在cygwin shell底下打入ssh-keygen,之後在C:\Users\yourname\.ssh下會產生id_rsa跟id_rsa.pub二個檔案

3.將id_rsa.pub的內容複製下來,丟到github=>account setting=>ssh keys

4.如果在安裝tortoiseGit的時候沒有選擇openSSH,則:右鍵=>tortoisegit=>setting=>network=>SSH client的選徑選成C:\cygwin\bin\ssh.exe即可

5.在github上創建一個專案,但要pull下來的時候卻遇到Error: Permission denied (publickey):將C:\Users\yourname\.ssh目錄複製到C:\cygwin\home\yourname底下

6.打開cygwin shell 執行ssh -vT git@github.com可以測試跟github的連接。

7.此時應該可以成功的進行pull

8.安裝jenkins的時候,如果打不開的話,則下netstate –no檢查8080 port是否被佔用

通常有skype的話就會發生此情形,解決辦法是先將skype關掉再打開之後,skype就會自己去找其他的port使用

 

9.在設定jenkins時,如果git路徑指向C:\cygwin\bin\git.exe,則jenkins會去讀取C:\cygwin\.ssh底下的private key。此時我們必須將key複製到此目錄下才行。(一開始設git repositories的時候會產生ailed to connect to repository : Command “C:\cygwin\bin\git.exe ls-remote -h xxxx returned status code 128:的錯誤。到cygwin的目錄下看,會產生一個C:\cygwin\.ssh的空資料夾,先給予讀寫的權限之後,將C:\Users\username\.ssh複製到此即可。

 

 

//================以下內容還沒找到用法,但暫時先在此記錄==============

使用ssh-add –l檢查目前的private

如遇Could not open a connection to your authentication agent,則:

ssh-agent bash –login –i

ssh-add

畫面顯示的會是我們所使用的private key路徑

當然,我們也可以使用ssh-agent並指明private所在處:

例如:ssh-add /.ssh/id_rsa

如果這時候出現以下訊息:

it is required that your private key files are not accessible by others. This private key will be ignored.

則對該檔案執行:

chmod 700 id_rsa

 

參考:

https://help.github.com/categories/56/articles

http://blog.supermomonga.com/articles/heroku/heroku-publickey-error-with-ssh.html

http://chobill.twbbs.org/blog/2008/07/05/ssh-agent/

http://computercamp.cdwilson.us/jenkins-git-clone-via-ssh-on-windows-7-x64

Leave a Reply

Your email address will not be published. Required fields are marked *