Git SSH Key 生成及多個Git SSH Key 生成管理
單個.ssh檔案rsa rsa.pub生成:
一 、
設定Git的user name和email:
$ git config --global user.name "zanyang"
$ git config --global user.email "zanyang@gmail.com"
二、生成SSH金鑰過程:
1.檢視是否已經有了ssh金鑰:cd ~/.ssh
如果沒有金鑰則不會有此資料夾,有則備份刪除
2.生存金鑰:
$ ssh-keygen -t rsa -C “******.com”
按3個回車,密碼為空。
Your identification has been saved in /home/tekkub/.ssh/id_rsa.
Your public key has been saved in /home/tekkub/.ssh/id_rsa.pub.
The key fingerprint is:
………………
最後得到了兩個檔案:id_rsa和id_rsa.pub
3.新增金鑰到ssh:ssh-add 檔名
$ ssh-add ~/.ssh/id_rsa
需要之前輸入密碼。
4.在github上新增ssh金鑰,這要新增的是“id_rsa.pub”裡面的公鑰。
開啟https://github.com/,登陸,然後新增ssh。
5.測試:ssh git@github.com
The authenticity of host ‘github.com (207.97.227.239)’ 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,207.97.227.239′ (RSA) to the list of known hosts.
ERROR: Hi tekkub! You’ve successfully authenticated, but GitHub does not provide shell access
Connection to github.com closed.
三、 開始使用github
1.獲取原始碼:
$ git clone git@github.com:billyanyteen/github-services.git
2.這樣你的機器上就有一個repo了。
3.git於svn所不同的是git是分散式的,沒有伺服器概念。所有的人的機器上都有一個repo,每次提交都是給自己機器的repo
倉庫初始化:
git init
生成快照並存入專案索引:
git add
檔案,還有git rm,git mv等等…
專案索引提交:
git commit
4.協作程式設計:
將本地repo於遠端的origin的repo合併,
推送本地更新到遠端:
git push origin master
更新遠端更新到本地:
git pull origin master
補充:
新增遠端repo:
$ git remote add upstream 你的git地址
多個ssh key管理:
當有多個git賬號的時候,比如一個github,用於自己進行一些開發活動,再來一個gitlab,一般是公司內部的git。這兩者你的郵箱如果不同的話,就會涉及到一個問題,生成第二個git的key的時候會覆蓋第一個的key,導致必然有一個用不了。
我們可以在~/.ssh目錄下新建一個config檔案配置一下,就可以解決問題
具體步驟
生成第一個ssh key(這裡我用於github,用的gmail郵箱)
ssh-keygen -t rsa -C"yourmail@gmail.com"
這裡不要一路回傳,讓你選擇在哪裡選擇存放key的時候寫個名字,比如id_rsa_github,之後的兩個可以回車。
完成之後我們可以看到~/.ssh目錄下多了兩個檔案
生成第二個ssh key(這裡我用於gitlab,用的是公司郵箱)
ssh-keygen -t rsa -C"yourmail@gmail.com"
還是一樣不要一路回車,在第一個對話的時候繼續寫個名字,比如id_rsa_gitlab,之後的兩個可以回車。
完成之後我們可以看到如2中圖所標記,一樣出現兩個檔案。(一個公鑰一個私鑰)
開啟ssh-agent
這裡如果你用的github官方的bash,ssh-agent -s,如果是其他的,比如msysgit,eval $(ssh-agent -s)
新增私鑰
ssh-add ~/.ssh/id_rsa_github
ssh-add ~/.ssh/id_rsa_gitlab
建立並修改config檔案
在windows下新建一個txt文字,然後將名字字尾一起改成config即可
在bash下的話直接touch config即可。
新增一下內容
# gitlab
Host git.iboxpay.com
HostName git.iboxpay.com//這裡填你們公司的git網址即可
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_gitlab
User zanyang
# github
Host github.comHostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github
User L
在github和gitlab上新增公鑰即可,這裡不再多說。
測試:
$ ssh -T git@github.com
PS:如果到這裡你沒有成功的話,別急,教你解決問題的終極辦法--debug
比如測試github,ssh -vT git@github.com
-v 是輸出編譯資訊,然後根據編譯資訊自己去解決問題吧。就我自己來說一般是config裡的host那塊寫錯了
補充一下
如果之前有設定全域性使用者名稱和郵箱的話,需要unset一下
git config --global--unsetuser.name
git config --global--unsetuser.email
然後在不同的倉庫下設定區域性的使用者名稱和郵箱
比如在公司的repository下
git config user.name "yourname"
git config user.email "youremail"
在自己的github的倉庫在執行剛剛的命令一遍即可。
這樣就可以在不同的倉庫,已不同的賬號登入。
相關文章
- 管理多個git 生成的ssh keyGit
- Git SSH Key 生成Git
- git生成ssh key和多賬號支援Git
- Git 中 SSH Key 生成和配置Git
- Git 中 SSH key 生成步驟Git
- git配置多個ssh keyGit
- git如何生成ssh金鑰 git生成配置ssh金鑰key詳細步驟Git
- Git拾遺:一機多SSH-Key管理Git
- 關於git專案中多ssh-key管理Git
- 關於git的ssh-key:解決本地多個ssh-key的問題Git
- mac本地生成ssh-keyMac
- git生成ssh金鑰詳細步驟 git如何生成ssh金鑰Git
- git ssh金鑰生成過程中ssh-keygen不是內部或外部命令Git
- Mac 生成 SSH Key 連線 GitHubMacGithub
- windows下生成github ssh key詳解WindowsGithub
- 使用eclipse生成git的sshEclipseGit
- 如何在TortoiseGit中使用ssh-keygen生成的keyGit
- Mac 系統生成 SSH Key 連線 GitHubMacGithub
- Git賬號註冊和SSH_KEY配置Git
- Git上傳採坑之ssh-keygenGit
- 在windows平臺上如何做到git多ssh-key相容WindowsGit
- Mac OS 下配置多個 SSH KeyMac
- 如何知道 Git clone 時 GitHub 使用的是哪個 SSH key 呢Github
- Git配置單個或多個SSHGit
- ssh keys管理工具
- Git 多賬號 SSH 配置Git
- 可怕,居然可以配置多個git sshkeyGit
- Mac生成多個ssh並配置不同域名Mac
- git配置sshGit
- git ssh配置Git
- 配置多個git賬號的ssh金鑰Git
- git倉庫配置git sshGit
- 專案管理之——Git SSH配置專案管理Git
- SSH key使用總結
- GitLab配置ssh keyGitlab
- SSH Host key verification failedAI
- CentOS建立SSH_keyCentOS
- SSH-keygen rsa 金鑰對根據私鑰生成公鑰