〇、前言

相信大家平常 刷刷新系统换换新电脑 都是常常发生的事儿了,这就导致我们系统上的一些配置经常忘了备份。

比如 ssh 相关的配置,就经常在拉取、推送代码时发现:

哎呀,怎么让我登录 Github 啊?

我不是配了密钥的吗?

哦!我换新系统(新电脑)了啊!!那没事了!!!

正准备处理时,又忘了怎么生成 ssh 密钥了。。。

密钥生成好了,结果 ssh 的多用户又搞忘怎么配置了。

于是在此记录一番,免得到时候又是翻天覆地的去搜怎么设置。

中文互联网下筛选有用的信息还是有点麻烦的说!

一、生成SSH密钥

ssh-keygen -t rsa -C "[email protected]"

选择性输入 密码文件名 等待命令结束即可。

二、添加密钥到平台

在 GitHub 或 代码托管平台 加入 pub key

三、添加私钥

ssh-add ~/.ssh/id_rsa

将私钥添加到本地,不然无法使用

通过命令 ssh-add -l 验证是否添加成功。

注:可能出现的报错:

报错之Error connecting to agent: No such file or directory

1.检查 ssh-agent 服务是否启动: get-service ssh*

2.启动 ssh-agent

Set-Service -Name ssh-agent -StartupType Manual
Start-Service ssh-agent

3.检查是否成功:`ssh-add -l`

四、多用户配置

多用户也就是存在多个 Git 平台

比如:用户在 Github 上有账号,在公司 Git 上也有账号,这两个账号认证的密钥是不一样的

这就导致我们电脑上的密钥只能满足多选一了

多用户模式能够让不同的 ssh 地址匹配不同的密钥

~/.ssh/ 目录下新建文件 config ,其内容为:

Host github
	HostName github.com
	User huqz
	PreferredAuthentications publickey
	IdentityFile ~/.ssh/id_rsa_github

Host gitlab
	HostName gitlab.mygitlab.com
	User huqzc
	PreferredAuthentications publickey
	IdentityFile ~/.ssh/id_rsa_gitlab

Host:别名

HostName: 为对应地址,可以为域名和 IP

Port: 如果不是默认端口,可以在此指定端口

User:用来认证的用户名

PreferredAuthentications:优先以什么方式认证,publickey,password 等

IdentityFile:用来认证的私钥文件

五、总结

我只能说及时备份永远是最省事的。

最近换了电脑(旧电脑大家都是怎么处理的呢?我都是放到xxx上,美女上门回收,极速秒到账。。。)

直接把旧电脑的 .ssh 文件夹拷过来拿去用了

嘿!还真不赖!!