SSH key 介绍和创建

1、SSH介绍
Secure Shell (SSH) 是一个允许两台电脑之间通过安全的连接进行数据交换的网络协议。通过加密保证了数据的保密性和完整性。SSH采用公钥加密技术来验证远程主机,以及(必要时)允许远程主机验证用户。
SSH 密钥对总是成双出现的,一把公钥,一把私钥。

  • 私钥默认会被保存在 ~/.ssh/id_rsa
  • 公钥默认会被保存在 ~/.ssh/id_rsa.pub
  • 公钥可以自由的放在您所需要连接的 SSH 服务器上,而私钥必须的保管好。

2、公钥登录的原理:
首先用户将自己的公钥存储在需要登录的远程机器上面,然后登录的时候,远程主机会向用户发送一段随机字符串,接着用户使用自己的私钥加密字符串,并发给远程主机。最后,远程主机使用存储的公钥进行解密,若解密成功,则说明用户可信,准许登录,不在提示输入密码。
举个例子:我把本地的 ~/.ssh/id_rsa.pub里面的公钥复制添加到码云,或者GitHub上面,然后在本地上用git命令去clone码云上面的项目,复制它的SSH路径,就可以不用登录,直接clone。
备注:公钥和私钥在客户端(登录端)生成。
在这里插入图片描述

3、口令登录的原理:
口令登录,即登录的时候需要输入登录密码。

a.客户端向服务器发出请求

b.服务器将自己的公钥返回给客户端;

c.客户端用服务器的公钥加密登录信息, 再将信息发送给服务器;

d.服务器接收到客户端传送的登录信息, 用自己的私钥解码, 如果结果正确, 则同意登录, 建立起连接。

在这里插入图片描述
备注:公钥和私钥都是在服务端生成的。

4、在本地使用git生成SSH KEY
a.运行git,输入cd ~/.ssh/,进入.ssh文件夹.(一般这个文件夹都是在本地C盘用户目录下)
b.如果没有该文件夹,手动创建,mkdir ~/.ssh
c.配置全局的name和email,这里是的你github或者bitbucket的name和email
git config --global user.name “XXX”
git config --global user.email "XXXX@XXX.com"

d.生成key
ssh-keygen -t rsa -C "XXX@XXX.com" 按三次回车
e.可以到.ssh文件下,查看id_rsa.pub,里面的内容就是你本机的公钥。
f.去到GitHub上添加你的SSH key,注意添加的是公钥!

5、如何用git命令将本地项目上传到远程仓库,如GitHub上
参考:这篇描述很详细,可以借鉴一下!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值