Github生成ssh 密钥和怎样向gitHub上传文件(详细教程)

一,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 
第二步、如果能进入到.ssh文件目录下 ,则证明,之前生成过.ssh秘钥,可以直接使用里面的秘钥。

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

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

git config  user.name  //github账号名
git config  user.email  //github填写的邮箱地址

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

git config -global user.name "xxxxxx" //github账号名
git config -global user.email "xxxxxx" //github填写的邮箱地址

3,然后生成新的密钥,执行一下指令:

ssh-keygen -t -rsa  "github填写的邮箱地址"

如果输入上述命令不生效时,可以输入下面命令,(前提是删除.ssh文件夹)

ssh-keygen -C'邮箱地址'

代码参数含义:

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

4,接下来会出现下面的窗口命令)

[root@localhost ~]# 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盘用户文件夹下搜索.ssh)得到了两个文件:id_rsa(私有秘钥)和id_rsa.pub(公有密钥)()。

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

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

接着:
1.登录GitHub,进入你的Settings;


登录GitHub,进入你的Settings.png

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


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

3.创建New SSH key


创建New SSH key

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


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

5.点击Add SSH key
6.到此,就大功告成了。

第四步 测试。

在命令窗口上输入 ssh -T ssh -T [email protected] 按回车键,如看到以下信息,那么就完美了(有些可能因为网络无法访问到,但不影响使用)。

二,gitHub上传文件

打开想上传文件,右键git bash here ,输入一下指令

git init //初始化远程仓库

    git status //状态

    //clear命令,清楚命令板上的数据

    git add . //或者使用 git add 文件名  // 把数据添加到暂存区中


    git commit -m '第一次提交'  //把暂存区中的文件提交到 git 仓库 

    git push -u origin master //把本地库的所有内容推送到远程库上

使用远程仓库

git clone https://github.com/lvxisha/git-demo.git  //克隆仓库

 cd 项目名

 git add .

 git commit -m '提交项目备注'

 git push 

 git pull

本地库跟远程库建立关联

git remote add origin [email protected]:Veblen007/Veblen007.github.io.git //链接远程库(后面是自己远程库的地址)
git pull origin master //传数据:
git push origin master 数据就能成功到达远程

先有本地库,后有远程库的时候,如何关联远程库。

现在,假设我们从零开发,那么最好的方式是先创建远程库,然后,从远程库克隆。
首先,登陆GitHub,创建一个新的仓库,名字叫gitskills

image.png
静下心来,好好做你该做的事

你可能感兴趣的:(Github生成ssh 密钥和怎样向gitHub上传文件(详细教程))