【SSH了解、Git使用和GitCode配置】

1.SSH了解

SSH是一种建立在应用层基础上的网络安全协议,用于计算机之间的加密登录。



1.1.使用密钥

SSH主要使用对称密钥非对称密钥两种密钥。


1.1.1.对称密钥

  • 加密和解密用的是同样的密钥
  • 效率高,加密强度高
  • 密钥越大,加密越强,但加密和解密过程会变慢
  • 发送密钥过程中有可能会被黑客拦截,通常将对称密钥进行非对称加密后再传送给需要它的人。

1.1.2.非对称密钥

  • 密钥分为公钥和私钥
    • 私钥只能由一方安全保管
    • 公钥可以发给多个请求它的设备
    • 用其中一个密钥加密,只有对应的那个密钥才能解密。
  • 安全,但与对称密钥相比效率要低

1.1.3.什么时候使用哪种密钥

  • SSH数据传输时候基本上所有过程都是使用对称密钥进行加密(速度快)
  • 只有在刚开始创建连接阶段(加密对称密钥)和身份认证握手阶段才使用非对称加密。



1.2.提供两种安全登录验证(使用非对称密钥)

SSH提供基于口令的安全验证基于密钥的安全验证两种验证方式。


1.2.1.基于口令的安全验证(密码口令登录)

客户端输入密码进行登录,由服务端生成公钥和私钥。

  • 客户端连接上服务端之后,服务端把自己的公钥传给客户端。
  • 客户端输入密码通过公钥加密之后传给服务端。
  • 服务端根据私钥解密得到登录密码,若正确则让客户端登录。

1.2.2.基于密钥的安全验证(公钥登录)

客户端无需输入密码即可登录,由客户端生成公钥和私钥。

  • 客户端将公钥存储到服务端上。
  • 客户端请求登录,服务端用相应的公钥加密一个随机数发送给客户端。
  • 客户端用自己的私钥解密得到随机数,经其他加密处理后发送给服务端。
  • 服务端对随机数进行同样的处理,接着和接收到的数据对比,如果一致则让客户端登录。

1.2.3.RSA算法

因为基于密钥的安全验证(公钥登录)默认选择RSA加密算法,这里介绍一下。

  • 目前最常用的非对称加密算法
  • 由麻省理工的三个大佬弄出来,RSA分别是他们的姓的首字母。
  • 使用
    • 加密:公钥加密私钥解密
      主要用于将数据资料加密不被其他人非法获取,只有自己独有的私钥才能解密。
    • 认证:私钥加密公钥解密
      主要用于身份验证,判断某个身份的真实性。



1.3.使用Git生成公钥

Win+R打开运行,然后输入cmd进入命令行界面,输入(已安装好git的情况下)

ssh-keygen -t rsa -C "你的邮件地址"
  • ssh-keygen表示采用基于密钥的安全验证。
  • -t:选择生成密钥的算法,有RSA和DSA两种算法。
  • rsa:RSA算法,ssh-keygen默认使用rsa密钥,可不写-t rsa。
  • -C表示提供一个注释,用于识别这个密钥,通常用个人的邮件地址作为注释,因为其具有唯一性。

输入上述指令回车后,将弹出以下提示

Enter file in which to save the key (……):  //生成保存密钥的文件夹,回车即可
Enter passphrase(empty for no passphrase):  //是否要为私钥设置密码,不设置直接回车就行
Enter same passphrase again: //重复输入密码,不设置继续回车
……
Your public key has been saved in……  //找到这一行,后面显示的就是公钥文件所存储的位置,
									//找到公钥文件后用记事本打开,全部复制。


1.4.将公钥存储到GitCode

  • 打开GitCode网站,点击设置
  • 点击SSH密钥,将刚才复制到的公钥复制到文本框内即可
  • 公钥标题随意起一个
  • 点击添加密钥。



2.使用Git上传代码


2.1.在GitCode网站新建一个项目。

  • 点击头像左边的加号
  • 点击新建项目,选择创建空白项目
  • 填写项目名称、项目描述
  • 勾选公开和使用自述文件初始化仓库
  • 点击新建项目完成

2.2.克隆该初始化项目到本地。

  • 点击绿色的克隆按钮
  • 复制"通过SSH Clone项目"下方的链接
  • 选择用于存放该项目文件夹的位置,不用自己新建一个项目文件夹。
  • 在空白处右键,选择Git Bash Here命令行模式。
  • 输入"git clone",敲个空格,然后右键Paste粘贴刚才复制的链接,最后回车。
    参考:git clone git@gitcode.net:qq_51214556/test.git
  • 如果看到多行remote:开头的提示,说明克隆成功。

2.3.git配置

可以看见,当前路径生成了一个名称为项目名称的文件夹,双击进去有一个READER.md文件。
在git命令行界面输入

cd ./你的项目名称(即克隆文件夹名称)  //回车后将进入项目的子目录里
git remote add origin 刚才复制的链接  //本地库关联远程库,origin是远程仓库链接的“别名”,后续会用到
git config --global user.name "用户名"  //输入用户名和邮箱
git config --global user.email "邮件"  //git的用户名和邮件用于让远程仓库记录哪次提交是由谁完成的,不会进行验证。

2.4.上传代码

上面已经双击进入项目文件夹的子目录,这时

  • 在当前文件夹新建txt文本,打开随便输入内容,保存。
  • 这里偷一下懒,我们右键打开Git GUI Here图形化界面。
  • Git图形化界面分为4个部分,按方位分为:
工作区(改动后的文件都显示在这里)差异区(显示出文件的具体改动)
暂存区提交说明(备注改动的内容和原因)
  • 看工作区有没有刚才新建的文本,没有就点一下"rescan"按钮重新扫描。
  • 在工作区点击选中txt文本,快捷键Ctrl+T将其提交到暂存区。
  • 在暂存区选中文本可以看见差异区显示出改动。
  • 在提交说明处备注"谁:改动了什么,为什么",方便项目的其他人查看。
  • 点击"commit"按钮提交,该版本的txt文本被备份到了本地库,需要的时候可以恢复某一版本。
  • 点击"push"按钮将该版本的txt文本推送到GitCode的远程仓库上,这时将弹出一个窗口,默认推送的远程仓库是origin,也就是之前我们添加的那个SSH链接,这里直接选择"push"即可。
  • 上传代码成功。



3.最后

  • 我自己第一次操作的时候出现了某些问题,有些是步骤的问题,有些是配置的问题,但后续无法复现,所以记录可能会有纰漏,出现问题可以将错误提示在网上搜索解决。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值