背景#
在 window 下使用 git,我習慣使用 ssh 方式進行拉取推送代碼,其他方式流程就沒有這麼繁瑣了。為什麼使用 SSH 方式呢,我不想每次切換不同帳號的時候重複輸入密碼,像 github 不支持直接輸入密碼,建議使用 ssh 方式。gitlab、雲效等支持輸入訪問令牌方式連接遠程倉庫。
ssh 配置#
配置 ssh cofnig 文件#
在 C:\Users\catcat\.ssh 目录下创建 config 文件,并自由添加需要的配置
這裡的 catcat 表示 window 電腦對應的用戶名,每個電腦的用戶名都是自己設定的,自行修改即可。
# GitHub
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_ed25519_github_mytest
User mytest
# Github2
Host imtest.github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_ed25519_github_imtest
User imtest
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_ed25519_gitee_mytest
User mytest
# gitee
Host imtest.gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_ed25519_gitee_imtest
User imtest
# gitee
Host gitcode.net
HostName gitcode.net
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_ed25519_gitcode_nxgtest
User test
為什麼配置兩個 github 呢,我是想分開兩個帳號的公鑰,雖然可以共用一個公鑰,但是我還是習慣於分開。
生成秘钥#
在目录下执行:
位置:C:\Users\catcat\.ssh
ssh-keygen -t ed25519 -C "<注释内容>"
推薦使用ed25519算法方式生成秘钥
生成效果:
catcat .ssh 0ms⠀ ssh-keygen -t ed25519 -C "[email protected]" pwsh 96 15:48:07
Generating public/private ed25519 key pair.
Enter file in which to save the key (C:\Users\catcat/.ssh/id_ed25519):
輸入自定義的名稱,並回車
catcat .ssh 0ms⠀ ssh-keygen -t ed25519 -C "[email protected]" pwsh 96 15:48:07
Generating public/private ed25519 key pair.
Enter file in which to save the key (C:\Users\catcat/.ssh/id_ed25519): id_ed25519_github_mytest
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_ed25519_github_mytest
Your public key has been saved in id_ed25519_github_mytest.pub
The key fingerprint is:
SHA256:FREWfhgLoEWqn21ewQWE65s+MGFoamjj0CWQvHG124 [email protected]
The key's randomart image is:
+--[ED25519 256]--+
|+. .. .+ |
|o. . . ..o+ |
| .. . oo+ |
|. . . .+ . |
|.o+ o o S . |
|+o *o* |
|+ =**.. |
|=o+++o. |
|B*o.+E. |
+----[SHA256]-----+
配置远程仓库 SSH 秘钥#
將id_ed25519_github_mytest.pub文件裡的秘鑰複製粘貼到 SSH 秘鑰位置,具體細節就不展開了。
配置全局 git 提交邮箱和用户信息#
在 C:\Users\catcat 目录下增加 .gitconfig 文件,并添加以下配置:
[user]
email = [email protected]
name = mytest
附件#
詳細操作看這裡配置 SSH 密鑰