使用sshkey連接github等服務器


    平常使用git時因為用了https的方式,所以經常要輸入密碼,其實我們是可以通過這個公鑰連接github git.oschina.net等服務器,這樣可以省去了我們輸入用戶名密碼這么一個步驟了。

    1.生成公鑰--- ssh-keygen

    無論是什么系統要使用git,那么都需要安裝git工具,這個是去官網下載,安裝完成后都會有了這么一個命令--- ssh-keygen,這個命令就是用來生成公鑰的,生成公鑰有什么好處在前面就已經說了。

    這個命令使用是很簡單的

➜  ~  ssh-keygen

    直接運行,一路確定(按回車鍵)就可以了,這樣就生成了了公鑰,需要注意的是在執行的過程中會提示你文件保存的路徑,在那一個步驟你要留意這個保存的路徑。

    完成后,文件保存的路徑,在linux中一般是 "/home/subying/.ssh/",windows下一般是"c:\用戶\subying\.ssh\" 這里的subying是我登錄的用戶名,你會在里面看到一個名為'id_rsa.pub'的文件。最正確就是前面說的在生成過程中留意那個路徑,如果沒有留意怎么辦?呵呵,再生成一次...


    2.上傳到服務器(網站github\git.oschina.net等)

    生成公鑰后,就是要上傳到服務器了,我們常用的git服務應該在是github git.oschina.net這樣的網站,那么這些網站的設置都是類似的。

    首先是找到個人設置里面,在左側找到ssh key(ssh 公鑰)這樣的菜單,點擊進去進行設置,下面給出github git.oschina.net的連接

    https://github.com/settings/ssh (github)

    http://git.oschina.net/profile/sshkeys  (git.oschina.net)

    設置的時候一般是設置標題和內容,標題可以自己取一個,那么內容就是剛才生成的那個id_rsa.pub文件的內容,可以用編輯器、記事本這樣的工具打開,復制。

    步驟如下截圖:

    


        

    3.驗證是否成功    

    驗證的方式就是使用命令 'ssh -T git@網站url',那么要判斷我們上面設置的github git.oschina.net,可以分別執行 'ssh -T git@github.com'  'ssh -T git@git.oschina.net' ,效果如下

 

➜  nodejs-download-website-Image git:(master) ssh -T git@github.com
The authenticity of host 'github.com (192.30.252.130)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,192.30.252.130' (RSA) to the list of known hosts.
Hi subying! You've successfully authenticated, but GitHub does not provide shell access.
➜  nodejs-download-website-Image git:(master) ssh -T git@git.oschina.net
The authenticity of host 'git.oschina.net (124.202.141.153)' can't be established.
ECDSA key fingerprint is 27:e5:d3:f7:2a:9e:eb:6c:93:cd:1f:c1:47:a3:54:b1.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'git.oschina.net,124.202.141.153' (ECDSA) to the list of known hosts.
Welcome to Git@OSC, subying!

    成功后都會看到一些歡迎的信息,比如github的'Hi subying! You've successfully authenticated',git.oschina.net的'Welcome to Git@OSC, subying!'  這里的subying是我的賬號名。


    4.將https改成ssh

    做完上面的步驟后,並不是說就可以clone都不需要輸入用戶名和密碼了,記住的是這個是ssh的公鑰,所以clone的時候要用ssh的url而不是https的url,否則你用了https的url還是需要輸入用戶名和密碼的。

    那么如果之前已經用了https了,現在要怎么修改呢?用命令'git remote set-url origin 項目的sshurl',比如我的就是這樣'git remote set-url origin git@git.oschina.net:subying/nodejs-download-website-Image.git',或者是直接修改了項目里面.git文件中的config文件,把https的url改成ssh的url就可以了。



    使用了ssh公鑰后就方面了很多,希望給像我一樣的朋友一些幫助。

    本文同步到我的個人博客 http://www.subying.com/archives/119.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM