潘兴运 發表於 2020-4-12 19:44:00

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

<h3>前言</h3>
<p>很多朋友在用github管理项目的时候,都是直接使用https url克隆到本地,当然也有有些人使用 SSH url 克隆到本地。然而,为什么绝大多数人会使用https url克隆呢?</p>
<p>这是因为,使用https url克隆对初学者来说会比较方便,复制https url 然后到 git Bash 里面直接用clone命令克隆到本地就好了。而使用 SSH url 克隆却需要在克隆之前先配置和添加好 SSH key 。</p>
<p>因此,如果你想要使用 SSH url 克隆的话,你必须是这个项目的拥有者。否则你是无法添加 SSH key 的。</p>
<h3>https 和 SSH 的区别:</h3>
<p>1、前者可以随意克隆github上的项目,而不管是谁的;而后者则是你必须是你要克隆的项目的拥有者或管理员,且需要先添加 SSH key ,否则无法克隆。</p>
<p>2、https url 在push的时候是需要验证用户名和密码的;而 SSH 在push的时候,是不需要输入用户名的,如果配置SSH key的时候设置了密码,则需要输入密码的,否则直接是不需要输入密码的。</p>
<h3>在 github 上添加 SSH key 的步骤:</h3>
<h5>第一步、首先,检查下自己之前有没有已经生成:</h5>
<p>在开始菜单中打开git下的git bash(当然,在其他目录下打开git bash也是一样的):<br>然后执行</p>
<pre class="prettyprint"><code class="has-numbering">ls -al ~/.ssh
</code></pre>
<ul class="pre-numbering">
<li>1</li>
</ul>
<h5>第二步、如果能进入到.ssh文件目录下 ,则证明,之前生成过.ssh秘钥,可以直接使用里面的秘钥。</h5>
<p>如果不能进入到.ssh文件目录下,则:</p>
<p>检测下自己之前有没有配置:</p>
<pre class="prettyprint"><code class="has-numbering">git config user.name和git config user.email(直接分别输入这两个命令)</code></pre>
<p>如果之前没有创建,则执行以下命令:</p>
<pre class="prettyprint"><code class="has-numbering">git config –global user.name ‘xxxxx’
git config –global user.email ‘xxx@xx.xxx’</code></pre>
<p>生成秘钥</p>
<pre class="prettyprint"><code class="has-numbering">ssh-keygen -t rsa -C ‘上面的邮箱’</code></pre>
<p>代码参数含义:</p>
<p>-t 指定密钥类型,默认是 rsa ,可以省略。<br>-C 设置注释文字,比如邮箱。<br>-f 指定密钥文件存储文件名。</p>
<p>接着按3个回车</p>
<pre class="prettyprint"><code class="has-numbering"># ssh-keygen -t rsa       &lt;== 建立密钥对,-t代表类型,有RSA和DSA两种
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):   &lt;==密钥文件默认存放位置,按Enter即可
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):   &lt;== 输入密钥锁码,或直接按 Enter 留空
Enter same passphrase again:   &lt;== 再输入一遍密钥锁码
Your identification has been saved in /root/.ssh/id_rsa.    &lt;== 生成的私钥
Your public key has been saved in /root/.ssh/id_rsa.pub.    &lt;== 生成的公钥
The key fingerprint is:
SHA256:K1qy928tkk1FUuzQtlZK+poeS67vIgPvHw9lQ+KNuZ4 root@localhost.localdomain
The key's randomart image is:
+-------+
|         +.    |
|          o * .|
|      . .O +   |
|       . *. *    |
|      S =+   |
|    .    =...    |
|    .oo =+o+   |
|   ==o+B*o.    |
|    oo.=EXO.   |
+---------+
</code></pre>
<p>最后在.ssh目录下(C盘用户文件夹下)得到了两个文件:id_rsa(私有秘钥)和id_rsa.pub(公有密钥)</p>
<h5>第三步、如果想登陆远端,则需要将rsa.pub里的秘钥添加到远端。</h5>
<p>首先,去.ssh目录下找到id_rsa.pub这个文件夹打开复制全部内容。</p>
<p>接着:</p>
<p>1.登录GitHub,进入你的Settings<br><img src="https://img-blog.csdnimg.cn/2019061921352777.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM1NDk1MzM5,size_16,color_FFFFFF,t_70"><br>2.会看到左边这些目录,点击SSH and GPG keys<br><img src="https://img-blog.csdnimg.cn/20190619213552339.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM1NDk1MzM5,size_16,color_FFFFFF,t_70"><br>3.创建New SSH key<br><img src="https://img-blog.csdnimg.cn/20190619213619807.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM1NDk1MzM5,size_16,color_FFFFFF,t_70"><br>4.粘贴你的密钥到你key输入框中<br><img src="https://img-blog.csdnimg.cn/20190619213715333.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM1NDk1MzM5,size_16,color_FFFFFF,t_70"><br>5.点击Add SSH key<br>6.再弹出窗口,输入你的GitHub密码,点击确认按钮。<br>7.到此,就大功告成了。</p>
<h5>第四步 测试。</h5>
<p>在命令窗口上输入 ssh -T ssh -T&nbsp;git@github.com&nbsp;按回车键,如看到以下信息,那么就完美了。<br><img src="https://img-blog.csdnimg.cn/20190619221201430.png"></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>.</p><br><br>
来源:https://www.cnblogs.com/fightjianxian/p/12687165.html
頁: [1]
查看完整版本: Github 生成SSH秘钥(详细教程)