SSH使用公钥加密

来源:互联网 发布:手机网络老是连接超时 编辑:程序博客网 时间:2024/05/21 09:59

  最近在打开CSDN的时候发现了一个自己一个从来没有注意到过的图标就是这个:


  点开发现是CSDN的代码托管平台,那么什么是代码托管平台呢?经过搜索发现,代码托管主要有三个好处:第一、备份,你会感觉你的硬盘永远不会坏。第二、多人编写同一个工程同步方便。第三、共享发布方便。总的来说就是了SVN差不多。

 点开以后是这个提示界面:


       首先什么还是SSH方式,简单来说SSH是一种网络协议,用于计算机之间的加密登录,如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为这种登录时安全的,它主要是用来远程登录。SSH之所以能够保证安全,是因为它采用了公钥加密,整个过程是这样的:(1)远程主机收到用户的登录请求,把自己的公钥发给用户。(2)用户使用这个公钥,将登录密码加密后,发送回来。(3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。

   然后是如何产生公钥?

   这个在CODE的帮助文档中有详细的介绍,如果是在Windows系统下使用,需要先安装git的Windows客户端msysgit,然后运行GIT bash,在弹出的对话框中输入相应的代码。为什么要安装git呢?是因为git是一款开源的分布式版本控制系统,他主要有以下的功能:

 从服务器上clone完整的Git仓库(包括代码和版本信息)到本地上。
 在自己的机器上根据不同的开发目的,创建分支、修改代码。
 在自己的机器上自己创建的分支上提交代码。
 在本机上合并分支

 一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。 

 且从主开发者的角度来看,git的功能:
 查看邮件或者通过其它方式查看一般开发者的提交状态。
 打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。

 向公共服务器提交结果,然后通知所有开发人员。

 也就是说要进行和做开发就要基于GIT的功能,     

 回到上一步生成公钥:(分为三个步骤)

 1. 生成公钥

 首先检查本机公钥:

 $ cd ~/.ssh
 如果提示:No such file or directory 说明你是第一次使用git。如果不是第一次使用,请执行下面的操作,清理原有ssh密钥。

 $ mkdir key_backup
 $ cp id_rsa* key_backup
 $ rm id_rsa*
 生成新的密钥:

 $ ssh-keygen -t rsa -C “您的邮箱地址”
 在回车中会提示你输入一个密码,这个密码会在你提交项目时使用,如果为空的话提交项目时则不用输入。

 你可以在你本机系统盘下,你的用户文件夹里发现一个.ssh文件,其中的id_rsa.pub文件里储存的即为刚刚生成的ssh密钥。

 2. 添加公钥

 登录CODE平台,进入用户“账户设置”,点击右侧栏的“ssh公钥管理”,点击“添加公钥”,将刚刚生成的公钥填写到“公钥”栏,并为它起一个名称,保存即可。

 注意:复制公钥时不要复制多余的空格,否则可能添加不成功。

 3. 管理公钥

 你也可以在“账户设置”——“ssh公钥管理”删除或者修改公钥。

 上面的过程及是SSH使用公钥加密保证安全的过程!


原创粉丝点击