window下配置ssh

背景

在 window 下使用 git，我习惯使用 ssh 方式进行拉取推送代码，其他方式流程就没有这么繁琐了。为什么使用 SSH 方式呢，我不想每次切换不同账号的时候重复输入密码，像 github 不支持直接输入密码，建议使用 ssh 方式。gitlab、云效等支持输入访问令牌方式连接远程仓库。

ssh 配置

配置 ssh cofnig 文件

在 C:\Users\catcat\.ssh 目录下创建 config 文件，并自由添加需要的配置

这里的 catcat 表示 window 电脑对应的用户名，每个电脑的用户名都是自己设置的，自行修改即可。

Copy
# 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

Copy
ssh-keygen -t ed25519 -C "<注释内容>"

推荐使用ed25519算法方式生成秘钥

生成效果：

Copy
 catcat   .ssh     0ms⠀   ssh-keygen -t ed25519 -C "mytest@qq.com"   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):

输入自定义的名称，并回车

Copy
 catcat   .ssh     0ms⠀   ssh-keygen -t ed25519 -C "mytest@qq.com"   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 mytest@qq.com
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 文件，并添加以下配置：

Copy
[user]
email = mytest@qq.com
name = mytest

附件

详细操作看这里配置 SSH 密钥