github公鑰新增

2021-10-01 09:08:09 字數 3170 閱讀 3176

git提交時有https和ssh兩種驗證方式,https方式除了速度慢以外,在每次提交時還需要輸入帳號和密碼;而使用ssh可以生成乙個公鑰-私鑰對,我們會把公鑰新增到git的伺服器,把私鑰放在本地。提交檔案的時候git伺服器會用公鑰和客戶端提交私鑰做驗證,如果驗證通過則提交成功。

對於github新增公鑰有以下幾種情況:

1.單個github使用者推送單個github使用者;

2.單個github使用者推送多個github使用者;

3.多個github使用者推送多個github使用者;

git config --global user.name "yourname"

git config --global user.email "youremail"

ssh -v

sudo

apt-get

install openssh-client openssh-server #ssh安裝命令

cd ~/.ssh

#若沒有id_rsa和id_rsa.pub 則可以使用預設生成命令

ssh-keygen -t rsa -c "some explanations"

#若之前已存在,可以自定義生成

ssh-keygen -t rsa -c "some explanations」 -f ~/.ssh/id_rsa_new

在~/.ssh目錄下有id_rsa/id_rsa_new(私鑰)和 id_rsa.pub/id_rsa_new.pub(公鑰)兩個檔案,其中.pub檔案裡存放的即是公鑰key。

ssh-add ~/.ssh/id_rsa
執行ssh-add時出現could not open a connection to your authentication agent則先執行如下命令即可:

ssh-agent bash
登入到github,選擇settings ,選擇add ssh key,把.pub的內容複製到裡面即可。

ssh -t [email protected]

hi *** you've successfully authenticated, but github does not provide shell access.

如果有以上提示,說明公鑰新增成功。

這種情況多用於同乙個使用者推送不同專案的倉庫(如個人專案和工作專案):

ssh-keygen -t rsa -c "some explanations」 -f ~/.ssh/id_rsa_p

ssh-keygen -t rsa -c "some explanations」 -f ~/.ssh/id_rsa_w

ssh-add ~/.ssh/id_rsa_p

ssh-add ~/.ssh/id_rsa_w

vim config
#personal

host personal

hostname github.com

user [email protected]

preferredauthentications publickey identityfile ~/.ssh/id_rsa_p

#work

host work

hostname github.com

user [email protected]

preferredauthentications publickey identityfile ~/.ssh/id_rsa_w

ssh -t git@personal  #git@host

hi *** you've successfully authenticated, but github does not provide shell access

如果有以上提示,說明連線成功。

這種情況多用於不同使用者推送不同github使用者的倉庫(個人賬戶到個人專案倉庫,工作賬戶推送工作專案倉庫),和配置單個git使用者的方式不同,這裡我們需要為每個專案分別配置,所以要命令列進入倉庫資料夾再設定。

ssh-keygen -t rsa -c "some explanations」 -f ~/.ssh/id_rsa_p2p

ssh-keygen -t rsa -c "some explanations」 -f ~/.ssh/id_rsa_w2w

ssh-add ~/.ssh/id_rsa_p2p

ssh-add ~/.ssh/id_rsa_w2w

cd ~/.ssh

vim config

#personal to personal

host p2p

hostname github.com

user [email protected]

preferredauthentications publickey identityfile ~/.ssh/id_rsa_p2p

#work to work

host w2w

hostname github.com

user [email protected]

preferredauthentications publickey identityfile ~/.ssh/id_rsa_w2w

cd personalrepository

git config --local user.name "yourname"

git config --local user.email "[email protected]"

cd workrepository

git config --local user.name "yourname"

git config --local user.email "[email protected]"

其中全域性使用者資訊存在~/.gitconfig中,區域性使用者資訊存在對應倉庫目錄.git/config中。

github新增ssh公鑰

一 windows下生成github的ssh公鑰 1.安裝git,開啟git bash 2.鍵入命令 ssh keygen t rsa c email email.com email email.com 是github賬號 3.提醒你輸入key的名稱,輸入如id rsa 4.在c documents...

github 生成 新增SSH公鑰

生成 新增ssh公鑰 你可以按如下命令來生成 sshkey 你自己的郵箱 ssh keygen t rsa c xx xx.com generating public private rsa key pair.按照提示完成三次回車,即可生成 ssh key。通過檢視 ssh id rsa.pub 檔...

如何在github新增公鑰

開啟gitbash 如果沒有的話首先需要安裝git 輸入如下命令 其中的郵箱必須是你註冊github的郵箱,它是你身份的標識。輸入回車,然後按提示回車或輸入y,使用預設名稱即可 進入使用者目錄下的.ssh 目錄,下面就是生成的key檔案 開啟檔案.pub結尾的檔案,複製裡面的內容 開啟github設...