ssh原理以及与https的区别

最近在使用云服务器的时候使用到了ssh去做登陆验证。关于ssh的使用原理,公钥和密钥如果对服务器的登陆做验证的。以及对称加密和非对称加密的基本原理,这里做一个比较详细的归纳和总结。

第一部分是关于ssh的使用以及原理的,这里引用了博主:疲惫的豆豆http://www.cnblogs.com/dzblog/p/6930147.html。这一篇讲得比较通俗易懂。也易于上手操作。

一、明白的以下几个概念:

know_host : 存储 已经确保正常、可以安全连接的所有服务器(hosts)的公钥

authorized_hosts : 存储 已经认证的客户端的公钥

public key :公钥

private key :私钥

使用ssh和https有什么不同:

HTTPS:使用https url克隆对初学者来说会比较方便,复制https url然后到git Bash里面直接用clone命令克隆到本地就好了,但是每次fetch和push代码都需要输入账号和密码,这也是https方式的麻烦之处(发现了https免密登录的方式)。
SSH:使用SSH url克隆却需要在克隆之前先配置和添加好SSH key,因此,如果你想要使用SSH url克隆的话,你必须是这个项目的拥有者或管理员,否则你是无法添加SSH key的。另外ssh默认是每次fetch和push代码都不需要输入账号和密码,如果你想要每次都输入账号密码才能进行fetch和push也可以另外进行设置

生成SSH Key的基本命令:

#步骤1:
cd  ~/.ssh ls
#这两个命令就是检查是否已经存在id_rsa.pub或id_dsa.pub文件,如果文件已经存在,那么你可以跳过步骤2

#步骤2:创建一个SSH Key 
ssh-keygen -t rsa -C "你的email地址"
#代码参数含义: 
#-t指定密钥类型,默认是rsa,可以省略。 
#-C设置注释文字,比如邮箱。 
#-f指定密钥文件存储文件名。 

二、关于ssh

 SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。

最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑。1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置。

三、基本用法

ssh user@host

四、对称加密和非对称加密的区别

首先想到的实现方案肯定是对数据进行加密。加密的方式主要有两种:

  • 对称加密(也称为秘钥加密)
  • 非对称加密(也称公钥加密)

所谓对称加密,指加密解密使用同一套秘钥。如下图所示:

1、用于加密数据的组件和用于解密数据的组件,两者之间的关联性决定了该种加密方式是对称型的还是非对称型的。

对称加密采用同一个密钥加密和解密数据。也就是说,任意两个持有同样密钥的人就可以在相互之间传递加密信息并解密。

该种加密方式常被称为“共同的秘密(shared secret)”式加密或者“秘密的钥匙(secret key)”式加密。通常情况下,所有的操作都使用同一个密钥,或者一对关联度非常高、使得接收方能够很容易的推断出发送方使用的密钥的密钥对。

  • 11
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值