1.首先什么是SSH

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

2.SSH的好处

1》传统的FTP、Telnet是再网络中明文传送数据、用户帐号和密码,很容易受到中间人攻击。而通过使用SSH,你可以把所有传输的数据进行加密,这样“中间人”这种攻击方式就不可能实现了, 而且也能够防止DNS和IP欺骗。
2》第二个好处是:传输的数据是经过压缩的,所以可以加快传输的速度。

3.怎么实现SSH的好处呢?【怎么才能做到加密】

SSH利用SSH Key来进行前面提到的基于密钥的安全验证。

4.SSH-Key是什么?

1》SSH-Key 就是一对密钥对。【一个是公钥,一个是私钥】
2》公钥是给别人用的。私钥是给自己用的。
3》别人是谁?可以是GitLab服务器。
自己是谁?可以是本地。 4》举个例子
4.1》本地想要使用git从gitHub/gitlab上拉取代码。
4.2》给GitHub/GitLab配置公钥,公钥就可以作为一个加密的箱子,将代码放在箱子里。
4.3》被本地拉取到后,使用私钥将加密的箱子打开。就能拿到代码了。
4.4》整个过程中,都没有用户名/密码在网络中传输,所以不会给他人拦截到,破解你的数据 5》所以,SSH-Key的直观作用,就是【让你方便的登录到 SSH 服务器,而无需输入密码】

5.SSH-Key的密钥类型

有RSA和DSA两种认证密钥

6.在linux上生成SSH-Key的命令步骤

1》首先,你得在root目录下

cd /root

2》查看是否已经存在SSH-Key【其实就是查看.ssh这个隐藏目录是否存在】

ls -al ~/.ssh

如果没有就新建,如果有,建议删除再新建

删除命令【其实就是删除.ssh这个隐藏目录目录】

rm -rf .ssh
3》新生成SSH-key【替换成你自己的邮箱】

ssh-keygen -t rsa -C "sxd4business@qq.com"

键入命令后,会让你输入密码用来保护你的密钥等,总共三次需要输入的,你都直接三次回车就好!!

【关键是,设置了你自己以后忘了就得重新生成】

【-C 是给你的密钥设置注释,你不想设置为邮箱,设置成别的也行】

4》生成后,会在/root目录下,也就是当前用户的目录下,生成一个.ssh隐藏目录,目录中会有【id_rsa】和【id_rsa.pub】两个文件,一个是私钥,一个是公钥。你现在就可以复制使用了

-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEA36h8i3yc5glv7kURRNkkdrYYOkeDcUHF4PSi64ZL2DMGmu2/
mzHF3CDfISAZUFp3cTd0yqRIF7LAfmlQrbDmFDk+jwMELoeVurUa8yaCVyz0pqfR
44ZYeEBToz53GEJ9k8n2nfOPBSqxhjblRxJgCKv7PIPqEI53h7laBKagyZ6bN2qm
yMcEjQmQzId4Ub7pweEhLH6FyKCx/upF7DxfJe2EyzAZJfLzfkb7lz1roLlDRngc
Gmb+aPmam3lIQHDrFLzbwCCox638Xg1/6gpw4yIFYsZqSOUgfjbKO1j03JLEMtzA
PPrH+eFq83IO0wkgVd+1FxIGLj5KVG/ygftqcQIDAQABAoIBAAPqE/vw+2H/Skk2
Rj4ZOs0lFLl4ZPGHgCoWvf83Q36OLhBqFs9liJv4q08OG8NPQgXmPZIKXASmKT5N
I49WqEA0XEbue5VA5Dr3Tnhw9RkHfWSpTUAZKtU38v7JahYvm7kJcNqE17z0aVT7
AvpCdRHRyLzfZipSA/+JG+026Vt99b70wD4B8SO0wpXj0Jr3VmP0tAAbdtecZ3mv
EQIVr4W+7D6O+o625ZiG+rU1nhuqQCN17YCvbOc48LkxLJADzqccUiUmm7nNSo6a
YAWPClFEexLGdNkU6Xb90/ujxdGDYWwvVC0bS8tTstPbIYQZm4J2KsfceiPYThw2
wd59740CgYEA/vhI7+2hXUHbHFbPuSvNIBVHpMKH7/U7Quj7aZkKR2Sx6bkOKdzR
NPb7wVLZkZ3CxsuQLror/Ws4ZKLgdfmvbdrfA4gxZ7Te35egQnyYVIs1KyqzH27F
bkQ9fbmty8kZ5G3Rmgmi/4wkBybtgvpmH+5rQx8Oz5/uYmNV5Qh2PG8CgYEA4I/Q
3/ohKCdFJ8KhGAbvB6fkQ8QHVfn0CJ8TFhkC3S64XyXyXoDUASr81coCPw3RtB59
eS4HUL++GSZfvUEX8DANU8LQezwYdkxbPsgMI9z99kiySdbUW9+EIRpivozX97+E
7k4+XH0HrY0kC3W8TyzT6rVxsT0xyQaOw1HV9x8CgYEAgkW/ln82vFxipHciiTz9
AJB+24rdQ9hroANEOa8NFm83i/CWcQM3DTXIaf131rPhigsGLynGQiQfWyPxRbX+
UUXMPpS+kXtTiLCDHJVmi4PY9aZKgRvq2i0ZsfxF9WJZzWHi/y4/Twx+d/0Gy64+
sb/ypAfhXGodtb2FbJFHQBcCgYEAhEFvXVptiL6IJkCkrAf5Y2LoN1kOkP5jUWiO
zybv3uCTScaJlkr9kaqFukv9QrGa3iBO+b24JUCobxuAq2/Y72b9kmVccBgWuCWE
X9dl/wE6uYBbMM3LyEg+A1kM6vj8gTdUzR1b8RDaIsbLgcxXmbHnJYazbRWDasfn
8PUTtTUCgYEAvaGGJN3rakj8jkDDf1egeuRStJ+jfRVMm9NAqa+ELjDKW3fORCYE
wIlGveGn5S3trx28RBQY1DZxFsF0YlD2hkxH70AFEOYrE/mTqqPeZZdfLsb9yF8E
kKJBRhG94YGRSBHu2h6SnnfHoJV3yyk0LrPqyyC97A7lSqLN8fRaGm8=
-----END RSA PRIVATE KEY-----

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDfqHyLfJzmCW/uRRFE2SR2thg6R4NxQcXg9KLrhkvYMwaa7b+bMcXcIN8hIBlQWndxN3TKpEgXssB+aVCtsOYUOT6PAwQuh5W6tRrzJoJXLPSmp9Hjhlh4QFOjPncYQn2Tyfad848FKrGGNuVHEmAIq/s8g+oQjneHuVoEpqDJnps3aqbIxwSNCZDMh3hRvunB4SEsfoXIoLH+6kXsPF8l7YTLMBkl8vN+RvuXPWuguUNGeBwaZv5o+ZqbeUhAcOsUvNvAIKjHrfxeDX/qCnDjIgVixmpI5SB+Nso7WPTcksQy3MA8+sf54Wrzcg7TCSBV37UXEgYuPkpUb/KB+2px sxd4business@qq.com

7.附录ssh-keygen命令参数解释

-b:指定密钥长度;
-e:读取openssh的私钥或者公钥文件;
-C:添加注释;
-f:指定用来保存密钥的文件名;
-i:读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥;
-l:显示公钥文件的指纹数据;
-N:提供一个新密语;
-P:提供(旧)密语;
-q:静默模式;
-t:指定要创建的密钥类型。

================================================================

参考地址:https://www.jianshu.com/p/1246cfdbe460

参考地址:https://www.cnblogs.com/whlives/p/6908125.html

【linux】在linux上生成SSH-key 简单原理介绍+生成步骤的更多相关文章

  1. linux下安装Git并生成SSH key

    系统:contens7.4 1.下载源码解压 wget https://github.com/git/git/archive/v2.3.0.zip unzip v2.3.0.zip cd git-2. ...

  2. Git 生成SSH Key

    背景:服务器是LINUX系统(centos7),使用GitLab管理git代码库.各个客户端通过sourcetree 工具,采用SSH获取.提交代码.使用SSH的方式需要公钥和私钥.下面介绍秘钥的生成 ...

  3. 如何生成SSH key

    SSH key提供了一种与GitHub通信的方式,通过这种方式,能够在不输入密码的情况下,将GitHub作为自己的remote端服务器,进行版本控制 步骤 检查SSH keys是否存在 生成新的ssh ...

  4. git之生成SSH key

    git之生成SSH key SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定.利用 SSH 协议可以有效防止远程管理过程中的信 ...

  5. 如何给 GitHub 添加 SSH key, 如何生成 SSH key 详细图文教程!

    如何给 GitHub 添加  SSH key, 如何生成  SSH key 详细图文教程! 一. 生成  SSH key https://ide.c9.io/xgqfrms/ 创建一个空项目:(或使用 ...

  6. win7生成ssh key配置到gitlab

    测试服务上使用ip访问gitlab,比如http://192.168.0.2/,创建用户并登陆后创建一个项目,比如git@gitlab.demo.com:demo/helloworld.git 如果想 ...

  7. Git - 生成ssh key步骤以及如何clone所有的远程分支

    https://www.cnblogs.com/gongyuhonglou/p/6922721.html 2. 生成ssh key $ ssh-keygen -t rsa -C “邮箱”按3个回车,密 ...

  8. git生成ssh key和多账号支持

    git配置ssh 1.首先设置git的全局user name和email $ git config --global user.name "ygtzz"$ git config - ...

  9. git生成ssh key及本地解决多个ssh key的问题

    git生成ssh key及本地解决多个ssh key的问题 ssh是一种网络协议,用于计算机之间的加密登录.ssh原理及应用可参考: SSH原理与运用(一):远程登录 生成ssh key步骤 这里以配 ...

随机推荐

  1. Java中final关键字概述

    使用final修饰过的变量都不可以改变: 1.final修饰变量 恒定不变的属性,可以用final关键字来修饰: 变量名建议全部使用大写 final修饰的变量不能改变,如果程序中重新赋值,编译报错 例 ...

  2. spring-web.xml 模板

    ssm模板 <?xml version="1.0" encoding="UTF-8"?>  <beans xmlns="http:/ ...

  3. maven dependencies 报错

    maven配置的环境变量有问题: 用最新的maven替换系统默认的setting.xml文件即可

  4. Excel学习笔记:sumif、sumifs、countifs函数使用方法

    本篇纯粹记录一下sumif.sumifs.countifs函数的使用方法. 一.sumif函数 按条件求和 使用格式:=sumif(条件区域,求和条件,实际求和区域) =SUMIF($B$7:$B$1 ...

  5. 浅谈JavaScript DDOS 攻击原理与防御

    前言 DDoS(又名"分布式拒绝服务")攻击历史由来已久,但却被黑客广泛应用.我们可以这样定义典型的DDoS攻击:攻击者指使大量主机向服务器发送数据,直到超出处理能力进而无暇处理正 ...

  6. ruby on rails在fedora18上install

    ruby on rails 在fedora18下的安装 天朝的网络原因,安装不是很顺畅,所以把过程记录下备用 前面下载rubygem什么的都比较快,新建一个project的时候会出问题 gem new ...

  7. explain的使用

    MySQL 提供了一个 EXPLAIN 命令, 它可以对 SELECT 语句进行分析, 并输出 SELECT 执行的详细信息, 以供开发人员针对性优化. mysql. row ************ ...

  8. java轻松实现无锁队列

    1.什么是无锁(Lock-Free)编程 当谈及 Lock-Free 编程时,我们常将其概念与 Mutex(互斥) 或 Lock(锁) 联系在一起,描述要在编程中尽量少使用这些锁结构,降低线程间互相阻 ...

  9. codevs 1795 金字塔 2

    codevs 1795 金字塔 2这个题比完全背包多了一个总数的限制,即一定要选(m+n)个,题中说总重量不超过n,所以至少选择m个重量为0的,然后初始化的时候,都填成重量为0的,然后再一个个地把它们 ...

  10. faker php测试数据库生成2

    因内容太长,被csdn截断了,只好把另外的内容写到这里. //Biased // 在10到20之间得到一个随机数字,有更大的几率接近20 echo $faker->biasedNumberBet ...