ssh
: OpenSSH SSH client (remote login program) OpenSSH SSH客戶端(遠程登錄程序)ssh-keygen
: authentication key generation, management and conversion 生成、管理、轉換用於認證的密鑰ssh-agent
: authentication agent認證代理(複雜情景纔可能用到,通常使用不到)上面三個程序具體能夠在Unix類系統輸入man ssh
, man ssh-keygen
, man ssh-agent
,查看詳細的說明和下述流程涉及的參數意思 ${variable}
按照變量字面意思,根據實際狀況,寫入具體的值[optional]
可選git
ssh-keygen -t rsa -C ${github_email}
->Enter file name ${github_key}
-> Password: null or ${custom_github_password}
ssh-keygen -t rsa -C "${gitlab_email}"
->Enter file name ${gitlab_key}
-> Password: null or ${custom_gitlab_password}
${github_key}[.pub]
和${gitlab_key}[.pub]
公私鑰放在C:\User\${Username}\.ssh
目錄下面${github_key}.pub
和${gitlab_key}.pub
文件內容用記事本打開,而後拷貝到相應的Github或Gitlab上面,操做路徑爲:settings -> SSH and GPG keys -> add new key
在.ssh
目錄建立config
文本文件,並將.txt
擴展後綴去掉。每一個帳號單獨配置一個Host,每一個Host取一個對應的域名或者IP地址,每一個Host主要配置HostName和IdentityFile兩個屬性便可。github
git@Host
中的Host
字段Host
對應${github_key}
或${gitlab_key}
文件全路徑publickey, password publickey
# github Host github.com HostName github.com IdentityFile C:\Users\${Username}\.ssh\github_id_rsa PreferredAuthentications publickey User github # custom gitlab Host ${gitlab_ip} HostName ${gitlab_ip} IdentityFile C:\Users\${Username}\.ssh\gitlab_id_rsa PreferredAuthentications publickey User gitlab
ssh -Tv git@github.com
根據顯示的信息,跟蹤整個ssh
的流程ssh
Host
是域名或準確的IP地址,必定要配置填寫正確ssh-keygen
如有使用密碼,後續的ssh
也須要密碼才能訪問對應的本地私鑰