Github 生成SSH秘钥(详细教程)

前言

很多朋友在用github管理项目的时候,都是直接使用https url克隆到本地,当然也有有些人使用 SSH url 克隆到本地。然而,为什么绝大多数人会使用https url克隆呢?

这是因为,使用https url克隆对初学者来说会比较方便,复制https url 然后到 git Bash 里面直接用clone命令克隆到本地就好了。而使用 SSH url 克隆却需要在克隆之前先配置和添加好 SSH key 。

因此,如果你想要使用 SSH url 克隆的话,你必须是这个项目的拥有者。否则你是无法添加 SSH key 的。

https 和 SSH 的区别:

1、前者可以随意克隆github上的项目,而不管是谁的;而后者则是你必须是你要克隆的项目的拥有者或管理员,且需要先添加 SSH key ,否则无法克隆。

2、https url 在push的时候是需要验证用户名和密码的;而 SSH 在push的时候,是不需要输入用户名的,如果配置SSH key的时候设置了密码,则需要输入密码的,否则直接是不需要输入密码的。

在 github 上添加 SSH key 的步骤:

第一步、首先,检查下自己之前有没有已经生成:

在开始菜单中打开git下的git bash(当然,在其他目录下打开git bash也是一样的):
然后执行

ls -al ~/.ssh
  • 1
第二步、如果能进入到.ssh文件目录下 ,则证明,之前生成过.ssh秘钥,可以直接使用里面的秘钥。

如果不能进入到.ssh文件目录下,则:

检测下自己之前有没有配置:

git config user.name和git config user.email(直接分别输入这两个命令)

如果之前没有创建,则执行以下命令:

git config –global user.name ‘xxxxx’
git config –global user.email ‘[email protected]’

生成秘钥

ssh-keygen -t rsa -C ‘上面的邮箱’

代码参数含义:

-t 指定密钥类型,默认是 rsa ,可以省略。
-C 设置注释文字,比如邮箱。
-f 指定密钥文件存储文件名。

接着按3个回车

[[email protected] ~]# ssh-keygen -t rsa       <== 建立密钥对,-t代表类型,有RSA和DSA两种
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):   <==密钥文件默认存放位置,按Enter即可
Created directory ‘/root/.ssh‘.
Enter passphrase (empty for no passphrase):     <== 输入密钥锁码,或直接按 Enter 留空
Enter same passphrase again:     <== 再输入一遍密钥锁码
Your identification has been saved in /root/.ssh/id_rsa.    <== 生成的私钥
Your public key has been saved in /root/.ssh/id_rsa.pub.    <== 生成的公钥
The key fingerprint is:
SHA256:K1qy928tkk1FUuzQtlZK+poeS67vIgPvHw9lQ+KNuZ4 [email protected]
The key‘s randomart image is:
+---[RSA 2048]----+
|           +.    |
|          o * .  |
|        . .O +   |
|       . *. *    |
|        S =+     |
|    .    =...    |
|    .oo =+o+     |
|     ==o+B*o.    |
|    oo.=EXO.     |
+----[SHA256]-----+

最后在.ssh目录下(C盘用户文件夹下)得到了两个文件:id_rsa(私有秘钥)和id_rsa.pub(公有密钥)

第三步、如果想登陆远端,则需要将rsa.pub里的秘钥添加到远端。

首先,去.ssh目录下找到id_rsa.pub这个文件夹打开复制全部内容。

接着:

1.登录GitHub,进入你的Settings

2.会看到左边这些目录,点击SSH and GPG keys

3.创建New SSH key

4.粘贴你的密钥到你key输入框中

5.点击Add SSH key
6.再弹出窗口,输入你的GitHub密码,点击确认按钮。
7.到此,就大功告成了。

第四步 测试。

在命令窗口上输入 ssh -T ssh -T [email protected] 按回车键,如看到以下信息,那么就完美了。

.

原文地址:https://www.cnblogs.com/jianxian/p/12687165.html

时间: 2024-12-12 17:58:54

Github 生成SSH秘钥(详细教程)的相关文章

TortoiseGit与Git生成ssh秘钥添加到代码托管平台

一 配置TortoiseGit 1.使用TortoiseGit下的PUTTYGEN生成.ppk文件 这一步不会的话可以自行Baidu/Google一下. 2.在代码托管平台的添加公钥 用记事本打开ppk文件,复制如下红框内的shh公钥,加上ssh-rsa的前缀,添加至代码托管平台即可. 二 配置Git 1.使用git bash生成秘钥 打开git bash,输入ssh-keygen -t rsa -C "你的Git对应邮箱地址",然后一路回车即可. 2.在代码托管平台的添加公钥 进入上

TortoiseGit 绑定 GitHub/Gitee ssh秘钥

小乌龟生成私钥和公钥 打开PuTTYgen 生成公钥/私钥文件 打开Pageant添加私钥.ppk文件 打开私钥文件获取key 打开GitHub/Gitee添加公钥 Gitee GitHub 原文地址:https://www.cnblogs.com/mainland/p/12150778.html

GIT文件的三种状态 &amp; Git SSH秘钥问题

一:GIT文件的三种状态 1-- 在目录下新建README.txt文件,接着,使用"git status"查看文件状态,如 可以看到,Git友好的标示出README.txt为"Untracked files",并且提示使用"git add <file>..."的命令将文件包含到待提交清单中. 2-- 按照提示,使用"git add README.txt"命令,然后,使用"git status"查

【github】添加 ssh 秘钥

1 生成秘钥 打开shell 备注: [email protected] 为邮箱地址 ssh-keygen -t rsa -C "123@example.com" 此处选Y ,其他都是一路回车 2 查看 cat ~/.ssh/id_rsa.pub 把此处的秘钥复制.放到 github ssh秘钥里边即可 原文地址:https://www.cnblogs.com/richerdyoung/p/9208350.html

ssh秘钥交换详解与实现 diffie-hellman-group-exchange-sha

ssh的DH秘钥交换是一套复合几种算法的秘钥交换算法.在RFC4419中称为diffie-hellman-groupX-exchange-shaX 的算法(也有另一种单纯的 rsaX-shaX 交换算法).本文就以diffie-hellman-group-exchange-sha256为例,详尽地讲解整个完整的秘钥交换过程. 笔者在RFC上和网上看了很久,也只是做了一个大致了解,对实现的帮助不大.实际在实现过程中,有太多的细节需要注意,在很多细节的分歧中,需要自己抱着勇气去测试.(原谅我不看op

GitHub+Hexo 搭建个人网站详细教程

原文链接 GitHub+Hexo 搭建个人网站详细教程 前言: 随着互联网浪潮的翻腾,国内外涌现出越来越多优秀的社交网站让用户分享信息更加便捷.然后,如果你是一个不甘寂寞的程序猿(媛),是否也想要搭建一个属于自己的个人网站,如果你曾经或者现在正有这样的想法,请跟随这篇文章发挥你的Geek精神,让你快速拥有自己的博客网站,写文章记录生活,享受这种从0到1的过程. 你见过的最棒的个人博客界面是什么样的? 什么是Hexo ? Hexo是一款基于Node.js的静态博客框架,依赖少易于安装使用,可以方便

ssh秘钥登录

自己在网上找ssh秘钥登录的教程,发现写的都不符合我迷糊的那一点:然后自己查man帮助. 刚开始的时候不知道Linux如何充当SSH client,然后自己已解决,解决见下 本地生成密钥(public key 和 private key).其中,public key存放在欲登录的服务器上,而privatekey为特定的客户机所持有. 当客户机向服务器发出建立安全连接的请求时,首先发送自己的public key,如果这个public key是被服务器所允许的,服务器就发送一个经过public ke

Ansible推送ssh秘钥

一.系统环境和安装软件版本1),系统安装[[email protected] ~]# cat /etc/issueCentOS release 6.5 (Final)[[email protected] ~]# uname -r2.6.32-431.el6.x86_642)4台主机Ansible(192.168.0.22)另外3台主机IP分别是(192.168.0.24,192.168.0.156和192.168.0.157)3)安装YUM源[[email protected] ~]# rpm

ansible 批量推送ssh秘钥

ansible 批量推送ssh秘钥 参考:http://docs.ansible.com/ansible/authorized_key_module.html # vi /etc/ansible/hosts [caoguo] 192.168.88.154 ansible_ssh_user=root ansible_ssh_pass=toor ansible_ssh_port=22 [[email protected] ansible]# ssh-keygen Generating public/