1.同一臺電腦可以有2個git賬號(不同**的)
首先不同**,當然可以使用同乙個郵箱,比如我的 github,gitlab,bitbucket的賬號都是gotodiscuss[at]gmail.com 這時候不用擔心金鑰的問題,因為這些**push pull 認證的唯一性的是郵箱 比如我的windows 上 2個賬號乙個gitlab 乙個github (用的都是id_rsa)
host github不需要指定key的位置。因為預設讀取id_rsa了hostname github.com
port 22
host gitlab.ikeepstudying.com
hostname gitlab.ikeepstudying.com
port 65095
這樣子使用起來沒有任何區別,remote 也想平時一樣操作即可。因為郵箱是相同的。
2.同一臺電腦有2個github賬號?咋辦
比如我伺服器上模擬的2個使用者
#[email protected] 我在gitlab的第乙個賬號gotodiscusshost gitlab.gotodiscuss.com
hostname gitlab.gotodiscuss.com
port 65095
user gotodiscuss
identityfile /home/suzie/.ssh/id_rsa
# 我在gitlab的第2個賬號test
host gitlab-test.gotodiscuss.com
hostname gitlab.gotodiscuss.com
port 65095
user test
identityfile /home/suzie/.ssh/id_rsa_second
#[email protected] 我在github的賬號
host github-osteach.com
hostname github.com
port 22
user osteach
identityfile /home/suzie/.ssh/id_rsa_second
所以,config基本寫法:
host myhost(這裡是自定義的host簡稱,以後連線遠端伺服器就可以用命令ssh myhost)[注意下面有縮排]這種情況下,需要幾點注意user 登入使用者名稱(如:git)
hostname 主機名可用ip也可以是網域名稱(如:github.com或者bitbucket.org)
port 伺服器open-ssh埠(預設:22,預設時一般不寫此行)
identityfile 證書檔案路徑(如~/.ssh/id_rsa_*)
1.remote pull push的時候有問題,因為要設定郵箱問題了 pull的時候識別的是郵箱,2個github賬號,2個郵箱,我們自然不能使用global的user.email了
git config -e [--global] # 編輯git配置檔案git config --global user.name yanhaijing
git config --global user.email [email protected]
git config --list #檢視配置的資訊
git help config #獲取幫助資訊
#1.取消global
git config --global --unset user.name
git config --global --unset user.email
#2.設定每個專案repo的自己的user.email
git config user.email "***[email protected]"
git config user.name "suzie"
之後push pull就木有問題了
備註生成ssh key
ssh-keygen -t rsa -c "your mail" (當前目錄) 然後可以命名預設id_rsa 或者id_rsa_second 把對應的pub放到公共伺服器上。
ssh-keygen 命令要在專案目錄裡面執行,並且要取消全域性 user.name 和 user.email,建立區域性user.name 和 user.email (跟你的git賬戶一致),這個害的我浪費了很多時間。ps.
sourcetree 如果使用多賬號時,記得修改config檔案,同時在"tools"選單的"add ssh key"中選擇私鑰,最重要的是clone時要使用修改後的path.
1.//git clone 專案時提示host key verification failed
使用 ssh 協議時會驗證對方伺服器的 key。ssh無法確認伺服器出示的 key 是可信認的,所以問你這個 key 是不是真的是你要連線的那個伺服器的。你沒說「yes」所以 ssh 認為你不想繼續連線,結果當然是連線失敗
2.//git clone permissions 0644 for 『~/.ssh/id_rsa』 are too open
只要把許可權降到0600就可以了
3.//bad owner or permissions on /home/***/.ssh/config
ssh config檔案許可權的問題,把許可權降到0600就可以了.
其他:在github多個帳號上新增ssh公鑰
**:多git帳號的ssh key切換
多個github帳號的SSH key切換
1.首先cd到 ssh 使用 ssh keygen t rsa c second mail.com 生成新的ssh key id rsa second ssh keygen t rsa c second mail.com 2.預設ssh只會讀取id rsa,所以為了讓ssh識別新的私鑰,需要將其新增...
多個github帳號的SSH key切換
github使用ssh與客戶端連線。如果是單使用者 first 生成金鑰對後,將公鑰儲存至github,每次連線時ssh客戶端傳送本地私鑰 預設 ssh id rsa 到服務端驗證。單使用者情況下,連線的伺服器上儲存的公鑰和傳送的私鑰自然是配對的。但是如果是多使用者 first,second 我們在...
git 配置多對ssh key
1.生成兩個不同的ssh ssh keygen t rsa c yourmail gmail.com 生成金鑰步驟 執行兩次,設定不同的名字或路徑。2.配置 將公鑰 pub加入 託管平台的配置中,如github 當前使用者目錄中建立config檔案 該檔案用於配置私鑰對應的伺服器 default g...