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

创建 SSH Keys的更多相关文章

  1. gitlab 创建SSH Keys 报500错

    gitlab 创建SSH Keys 报500错 看了一下日志 root@322323:/home/git/gitlab/log# cat production.log Errno::ENOMEM (C ...

  2. 创建SSH keys

    1.检查是否已经有SSH Key存在 windows: type "%userprofile%\.ssh\id_rsa.pub" Linux: cat ~/.ssh/id_rsa. ...

  3. 创建SSH keys用于添加到Git服务器上

    SSH keys SSH key 可以让你在你的电脑和Git服务器之间建立安全的加密连接.先执行以下语句来判断是否已经存在本地公钥: cat ~/.ssh/id_rsa.pub 如果你看到一长串以 s ...

  4. GitHub创建SSH Keys

    第一步:在用户主目录下,看有没有.ssh目录,如果有,再看看这个目录下 有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步,如果没有 打开Git Bash,创建SSH ...

  5. GitHub 添加 SSH keys

    首先在本地创建 SSH Keys $ ssh-keygen -t rsa -C "18817801185@163.com" 后面的邮箱即为 github 注册邮箱,之后会要求确认路 ...

  6. Git多个SSH KEYS解决方案(含windows自动化、TortoiseGit、SourceTree等)

    工作过程中,经常会使用到多个git仓库,每个git仓库对应一个账号,可以理解为每个git仓库对应一个ssh key,因此我们需要管理多个ssh key.   一.快速创建ssh key   1. 创建 ...

  7. git bash push 本地的commit到远程 -- ssh keys设置

    1.  检查是否已经创建 ssh keys git bash 下,cd ~/.ssh 如何出现“No such file or directory”,则表示需要创建一个ssh keys. 2. 创建新 ...

  8. Git 进阶指南(git ssh keys / reset / rebase / alias / tag / submodule )

    在掌握了基础的 Git 使用 之后,可能会遇到一些常见的问题.以下是猫哥筛选总结的部分常见问题,分享给各位朋友,掌握了这些问题的中的要点之后,git 进阶也就完成了,它包含以下部分: 如何修改 ori ...

  9. 如何配置SSH Keys登录

    SSH Keys简介: 使用SSH Keys的登录远程虚拟云主机的方式比单独使用密码登录更加安全,简单的密码很可能被暴力破解.而目前来看采用长度大于1024位的RSA加密算法,几乎是不可能被破解的.S ...

随机推荐

  1. python安装requests第三方模块

    2018-08-28 22:04:51 1 .下载到桌面后解压,放到python的目录下 ------------------------------------------------------- ...

  2. 第三周——重新clone项目、配置并编译

    重新clone项目的原因 因为实习尚未有公司邮箱,使用qq邮箱没有权限提交代码,因此使用晶哥的账号和gitlab, 但是git clone项目默认会关联账号(可能有某些配置项,但是找不到), idea ...

  3. Mid-Atlantic 2008 Lawrence of Arabia /// 区间DP oj21080

    题目大意: 输入n,m 输入n个数 将n个数切割m次分为m+1段,使得各段的Strategic Value总和最小 一组数a b c d的SV值为 a*b + a*c + a*d + b*c + b* ...

  4. dedecms 调用英文标题和栏目描述

    调用英文标题: 参考文献 http://www.dedecms51.com/dedecmsjiaocheng/chengxukaifa/149476.html 增加 dede/templets/cat ...

  5. 注解@Qualifier@Primary

    在Controller中需要注入service那么我的这个server有两个实现类如何区分开这两个impl呢 根据注入资源的注解不同实现的方式有一点小小的区别 在Controller中使用 @Auto ...

  6. U-BOOT 对 Nand Flash 命令的支持

    U-BOOT 对 Nand Flash 命令的支持 在 U­BOOT 下对 Nand Flash 的支持主要是在命令行下实现对 nand flash 的操作.对 nand flash 实现的命令 为: ...

  7. Python全栈开发:进程代码实例

    进程与线程的关系 #!/usr/bin/env python # -*- coding;utf-8 -*- """ 多进程(主进程,子进程): 优点:能同时利用多个CPU ...

  8. 函数的作用域、作用域链以及return关键字

    1.作用域 全局作用域:在函数外部使用var关键字定义的变量 局部作用域:在函数内部使用var关键字定义的变量 特点   (1)局部变量无法直接影响全局变量    (2)在局部作用域中可以使用全局作用 ...

  9. js把时间转化为 ‘2019-07-01’ 格式

    将new Date()数据转化为‘2019-07-01’格式 //时间 function formatDate(date) { var y = date.getFullYear(); ; m = m ...

  10. python中字符串的处理总结

    在爬取新浪财经7*24直播中, 遇到了Unicode编码中文转utf-8的问题, 采用如下代码可以实现转化 >>> a='\\u76d1\\u7ba1\\u5bf929' >& ...