SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。简单说,SSH是一种网络协议,用于计算机之间的加密登录。

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

SSH之所以能够保证安全,原因在于它采用了公钥加密。

过程:

(1)远程主机收到用户的登录请求,把自己的公钥发给用户。

(2)用户使用这个公钥,将登录密码加密后,发送回来。

(3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录

首先在本地创建 SSH Keys

$ ssh-keygen -t rsa -C "18817801185@163.com"

后面的邮箱即为 github 注册邮箱,之后会要求确认路径和输入密码,一路回车就行。

成功的话会在 ~/ 下生成 .ssh文件夹,进去,打开 id_rsa.pub,复制里面的key

那么问题来了,如何进入到 ~/ 路径下找到 .ssh 文件夹呢?

使用命令

cd ~/.ssh

出现提示 "No such file or directory",此时可以选择手动创建一个 .ssh 文件夹,如下:

然后执行之前的命令生成 SSH Keys

此时 SSH Keys 已经生成,查看内容

复制全部内容,打开 GitHub 主页,左侧选择 SSH and GPG Keys, 点击 Add SSH Keys,然后输入名称,并将复制的内容粘贴过来,添加即可。

验证 SSH Keys 是否添加成功

$ ssh -T git@github.com

如果是第一次的会提示是否continue,输入yes就会看到:You've successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。

接下来我们要做的就是把本地仓库传到github上去,在此之前还需要设置username和email,因为github每次commit都会记录他们。

1 $ git config --global user.name 'wangxi'
2 $ git config --global user.email 18817801185@163.com

进入要上传的仓库,右键 git bash,添加远程地址

$ git remote add origin git@github.com:wangxi/Node-React-MongoDB-TodoList.git

加完之后进入 .git,打开 config,这里会多出一个remote "origin"内容,这就是刚才添加的远程地址,也可以直接修改config来配置远程地址。

创建新文件夹,打开,然后执行 git init 以创建新的 git 仓库。

检出仓库

git clone /path/to/repository

检出服务器上的仓库

git clone username@host:/path/to/repository

最新文章

  1. PHP Strom 配置less 并设置编译后在远程开发模式下自动上传css文件
  2. spring-cloud-event-sourcing-example-master 运行效果及说明
  3. UIScrollView 性能优化 - view转为Image
  4. 对Google cloud platform 做了点研究
  5. linux中的开机和关机命令
  6. fgetc和fputc函数
  7. Elevator 分类: HDU 2015-06-19 21:52 13人阅读 评论(0) 收藏
  8. Lotus 迁移到Exchange POC 之 新建2007 服务器!
  9. gem 'logstash-devutils'
  10. CentOS-6.4-i386硬盘安装
  11. [Oracle] Insert All神奇
  12. 【npm】如何在Atom中安装emmet和atom-beautify插件?
  13. 小白的.Net Core 2.0 ConsoleApp入门(keng)指南(一)
  14. Zookeeper和Chubby【分布式协调系统】
  15. 3.Git基础-查看当前文件状态、跟踪新文件、暂存文件、忽略文件、提交更新、移除文件、移动文件
  16. react-native项目中禁止截屏与录屏
  17. 八大排序算法——冒泡排序(动图演示 思路分析 实例代码java 复杂度分析)
  18. day10,11-Python 基本数据类型介绍之数字与字符串(看看就好)
  19. 16个PHP设计模式详解
  20. 用python写http接口自动化测试框架

热门文章

  1. 纯CSS3实现图片展示特效
  2. 如何使用Spark大规模并行构建索引
  3. Java之实现多线程
  4. Spark如何读写hive
  5. JS规则 编程练习 考考大家的数学,计算以下计算公式的结果。然后在浏览器中运行一下,看看结果是否跟你的结果一致。
  6. 【案例】鼠标按下,DIV跟随移动
  7. hp笔记本在设置VT-x为启用模式后还是无法在VMware上开启CentOS虚拟机
  8. duilib教程之duilib入门简明教程3.第一个程序 Hello World
  9. 第十三章 Odoo 12开发之创建网站前端功能
  10. OpenCASCADE 7.4.0 Released