在ubuntu系统上生成SSH**,并把对应的公开**添加到GitHub账户

 

第1步:检查SSH**
打开终端,并键入命令:
ls -a ~/.ssh
# 列出.ssh 目录中存在的文件
检查这个目录列表,看看是否已经有了公共SSH**。
默认的公共**文件名字类似如下:
id_dsa.pub
id_ecdsa.pub
id_ed25519.pub
id_rsa.pub

如果怕损坏原有的**,请作好备份。键入如下命令:

mkdir key_backup

cp ~/.ssh/id_* key_backup

 

第2步:生产一个新的SSH**
在终端上键入命令: 【请将 [email protected] 替换为你的个人email地址】
ssh-****** -t rsa -C "[email protected]"
# 用提供的邮件作为标签创建一个新的SSH**。
回车后会有提示"Enter a file in which to save the key",

在ubuntu系统上生成SSH**,并把对应的公开**添加到GitHub账户

这时按照默认设置直接按回车键,
接下来会要求你输入密码并再次输入进行确认(直接两次回车就是认为无密码),
然后你会看到类似如下提示:
在ubuntu系统上生成SSH**,并把对应的公开**添加到GitHub账户

再查询目录:

在ubuntu系统上生成SSH**,并把对应的公开**添加到GitHub账户

 

第3步:把你的SSH**加入到GitHub账户上
注意,你的**也可能是id_dsa.pub, id_ecdsa.pub 或者 id_ed25519.pub类似的名字。

在你的GitHub页面的右上角点击在ubuntu系统上生成SSH**,并把对应的公开**添加到GitHub账户 Settings;
在Personal settings侧栏上点击 SSH keys;
再点击Add SSH key;
在Title字段为你的新**添加一个描述性的标签,例如,你用的联想Y460P笔记本电脑,
你可以把这个**叫作“key of Y460P”;
用你的文本编辑器打开你的公共**文件,

或者使用命令:

cat ~/.ssh/id_rsa.pub

然后复制查出来的文本段,

复制全部内容粘贴到Key区域;

然后点击Add key,并输入你的GitHub账户密码验证确认。

第4步:测试验证
为了确保以上做的工作有效,你要尝试SSHing到GitHub。
在终端上键入命令:
ssh -T [email protected]
# 尝试SSH到GitHub
可能会提示你输入你在第2步中输入的密码。

然后你很可能看到类似如下消息:
The authenticity of host 'github.com (192.30.252.129)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?
不要担心!就是应该这样。
核实这个指纹与你第2步中生成的指纹是匹配的,然后键入 yes,
你应该看到如下提示:
Hi username! You've successfully authenticated, but GitHub does not
provide shell access.
如果这个username是你的GitHub账户名,那么你就成功地设置了你的SSH**。Ps:不用管"shell access" 提示消息。

 

不巧的是我在测试时出错了,提示消息如下:

在ubuntu系统上生成SSH**,并把对应的公开**添加到GitHub账户

然后我就用命令cat -n /etc/ssh/ssh_config查看提示消息中的文件,发现问题在第55行

在ubuntu系统上生成SSH**,并把对应的公开**添加到GitHub账户

PermitRootLogin no 这一句配置导致了SSH连接失败。

于是我修改ssh_config文件,加#注释掉第55行并保存文件。

再次尝试,终于成功了

在ubuntu系统上生成SSH**,并把对应的公开**添加到GitHub账户

 

现在可以用命令git fetch origin来获取github上已经关联的仓库的更新了在ubuntu系统上生成SSH**,并把对应的公开**添加到GitHub账户

 

 

解决git每次推送都需要输入用户信息验证的问题:
修改仓库下的 .git/config 文件,将
[remote "origin"]
    url = https://github.com/username/repo.git
修改为
[remote "origin"]
    url = [email protected]:username/repo.git

转自https://blog.****.net/u013687821/article/details/41861927