Git配置使用ssh服务

592#7238e9b8

生成秘钥,添加github、gitee、gitlab。本文非原创,只做为日后使用记录

开始

首先得自己安装好git,再进行后面的动作。

Mac系统

设置用户名和邮箱

shell 复制代码
git config --global user.name "zbf"
git config --global user.email "zbfcqtl@gmail.com"

生成秘钥

shell 复制代码
ssh-keygen -t ed25519 -C "zbfcqtl@gmail.com"

一般不设置密码的情况下,一直回车。

如果要添加多个,比如github一个,gitee一个,可以在Enter file in which to save the key (/Users/yourname/.ssh/id_ed25519): 后面标识一下文件/Users/yourname/.ssh/id_ed25519_github,后面名称也应该对应上

添加公钥

shell 复制代码
cat ~/.ssh/id_ed25519.pub

以ssh-ed25519开头,邮件结尾。复制后添加到github或者gitlab等代码托管中的SSH keys。

9E238D2980ED4197B0BBDE11A154B874.png

测试

shell 复制代码
ssh -T git@github.com

会有连接询问,或者上面生成秘钥的时候,设置了密码会提示输入,最后的效果:

37A35712DD2C4CE99FAA2EA968FD85D3.png

Windows系统

过程有更多一些的问题

查看ssh目录

最简单的就是去当前登录Windows系统用户目录下看是否有.ssh目录,没有就自己创建一下。

或者命令行,没有就会报错,再自行创建一个吧。

复制代码
cd ~/.ssh

# mkdir ~/.ssh

设置用户名和邮箱

shell 复制代码
git config --global user.name "zbf"
git config --global user.email "zbfcqtl@gmail.com"

生成秘钥

生成秘钥前保证在 ~/.ssh文件夹

shell 复制代码
ssh-keygen -t ed25519 -C "zbfcqtl@gmail.com"

和上面一样,一般不设置密码的情况下,一直回车。我的习惯一般是公司名+ed25519,比如:gy_ed25519

ssh-add

OpenSSH<7.2

shell 复制代码
ssh-add ~/.ssh/id_ed25519

Error connecting to agent: No such file or directory

这一步可能会有如下错误Error connecting to agent: No such file or directory。安装下面的步骤解决

查看启动情况

shell 复制代码
get-service ssh*
  1. 显示下面的内容代表服务没有启动:
复制代码
Status   Name               DisplayName
------   ----               -----------
Stopped  ssh-agent          OpenSSH Authentication Agent

默认应该是启动的,这种问题需要检查杀毒软件是否有禁用这个开机启动下面是电脑管家的界面

image.png

启动命令:

shell 复制代码
Set-Service -Name ssh-agent -StartupType Manual
shell 复制代码
Start-Service ssh-agent

该问题解决办法原文:https://www.cnblogs.com/attackingmilo/p/Windows-ssh-add-error.html

~/.ssh/id_ed25519: No such file or directory

这个是路径的问题,最佳解决方案是找到C:/Users/用户名/.ssh下的对应文件,右击-属性-安全,复制对象名称。

显示一下内容才算成功:

复制代码
Identity added: C:\Users\用户名\.ssh\id_ed25519 (C:\Users\用户名\.ssh\id_ed25519)

添加公钥

Windows系统就不用命令行工具和相关编辑器了,直接进入 C:\Users\用户名\.ssh 用文本编辑器打开 id_ed25519.pub 文件,它香得不行。

以ssh-ed25519开头,邮件结尾。复制后添加到github或者gitlab等代码托管中的SSH keys。

9E238D2980ED4197B0BBDE11A154B874.png

测试

shell 复制代码
ssh -T git@github.com

会有连接询问,或者上面生成秘钥的时候,设置了密码会提示输入,最后的效果:

37A35712DD2C4CE99FAA2EA968FD85D3.png

Windows下效果和Mac下效果一样,就不截图了。

agent returned different signature type ssh-ed25519 (expected ed25519-sha2-512)

这是windows的环境问题,解决办法参考https://ai-digital-marketing.blogspot.com/2020/05/fixed-windows-warning-agent-returned.html

Too many authentication failures

解决办法参考下面的 配置了多个失效问题

配置了多个失效问题

.ssh文件夹下新建config文件,配置IdentityFile指定一下配置文件,例如:

复制代码
Host github.com
  IdentityFile ~/.ssh/id_ed25519_github

Host *.gitee.com
  Prot 23300
  IdentityFile ~/.ssh/id_ed25519_gitee

指定代理

config 复制代码
Host github.com
  ProxyCommand nc -x 127.0.0.1:7890 %h %p
  IdentityFile ~/.ssh/id_ed25519

参与本文讨论

请先登录 GitHub 后留言

0/500

本文留言

0

这篇文章还没有留言,来写第一条吧。

1 / 1