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. python基础-装饰器,生成器和迭代器

    学习内容 1.装饰器 2.生成器 3.迭代器 4.软件目录结构规范 一:装饰器(decorator) 1.装饰器定义:本质就是函数,用来装饰其他函数,即为其他函数添加附加功能. 2.装饰器原则:1)不 ...

  2. 【linux】监控磁盘情况并自动删除备份文件

    背景:我有一个备份目录/home/kzy/bakup,会每天备份一些信息.随着日子一天天的过去,这个文件夹越来越大,终于把磁盘撑满了..... 需求:当磁盘占有率超过80%时自动删除该文件夹下最老的3 ...

  3. Python 协程检测Kubernetes服务端口

    一.需求分析 在上一篇文章,链接如下: https://www.cnblogs.com/xiao987334176/p/10237551.html 已经得到了需要的数据,现在需要对这些端口做检测,判断 ...

  4. Java编程的逻辑 (27) - 剖析包装类 (中)

    ​本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http: ...

  5. 设置idealUI选中变量的颜色与同名称变量的颜色一致

  6. K8S Dashborad登陆认证文档

    K8S Dashboard是官方的一个基于WEB的用户界面,专门用来管理K8S集群,并可展示集群的状态.因为我们使用kubeadm搭建的集群会默认开启RABC(角色访问控制机制),所以我们必须要进行额 ...

  7. IE去掉链接虚线框的几个方法

    虚线框简直就是个多余的东西,上一篇教大家怎么去除Firefox中链接和按钮虚线框,今天叫大家去掉去除IE中链接的虚线框.方法一:利用javascript的onfocus事件,实现如下:Html代码 & ...

  8. 对C转换说明符的误解以及关于数组的一些知识

    事实上,scanf()函数中%c并非是用来输入单个字符的,而是用来输入一组字符的. 例如: ]; scanf("%3c",a); 其中“3”规定了输入数据的宽度,当然宽度为“1”的 ...

  9. Windows下安装Tensorflow(python3.6):记录过程

    安装前的情况: 之前使用的都是python2.7,但是tensorflow不支持2.x版本,那只有基于在3.x版本进行安装了 前段时间,我安装VS2017的时候安装了python3.6于是想在此基础上 ...

  10. MIT-6.824 Lab 3: Fault-tolerant Key/Value Service

    概述 lab2中实现了raft协议,本lab将在raft之上实现一个可容错的k/v存储服务,第一部分是实现一个不带日志压缩的版本,第二部分是实现日志压缩.时间原因我只完成了第一部分. 设计思路 如上图 ...