〇、前言
相信大家平常 刷刷新系统、 换换新电脑 都是常常发生的事儿了,这就导致我们系统上的一些配置经常忘了备份。
比如 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-agent3.检查是否成功:`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_gitlabHost:别名
HostName: 为对应地址,可以为域名和 IP
Port: 如果不是默认端口,可以在此指定端口
User:用来认证的用户名
PreferredAuthentications:优先以什么方式认证,publickey,password 等
IdentityFile:用来认证的私钥文件
五、总结
我只能说及时备份永远是最省事的。
最近换了电脑(旧电脑大家都是怎么处理的呢?我都是放到xxx上,美女上门回收,极速秒到账。。。)
直接把旧电脑的 .ssh 文件夹拷过来拿去用了
嘿!还真不赖!!
ssh密钥生成及多用户配置
本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
评论交流
欢迎留下你的想法