1 什么是 ssh?有什么用?

(1)ssh 是一种协议

SSH(Secure Shell) 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议,利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。

(2)ssh 服务

Linux 一般作为服务器使用,我们通常使用 ssh 服务(指实现 SSH 协议的软件)远程登录到 Linux 服务器来管理维护系统。

  • OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。
  • OpenSSH 的服务端:sshd(Linux 服务器启动该服务)
  • OpenSSH 的客户端:ssh(客户端启动,通过它来访问服务端)

2 ssh 基于密匙的安全验证过程是怎样的?

需要创建一对密匙,把公用密匙放在服务器上。连接SSH服务器时,客户端向服务器发出请求,用你的放的公钥匙进行安全验证,服务器收到请求之后,先在该服务器上你的主目录下寻找你的公匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私匙解密。

3 对称加密与非对称加密区别是什么?

(1)对称加密

加密(encryption)与解密(decryption)用的是同样的密钥(secret key)。效率高,对称加密的一大缺点是密钥的管理与分配,在发送密钥的过程中,密钥有很大的风险会被黑客们拦截。现实中通常的做法是将对称加密的密钥进行非对称加密,然后传送给需要它的人。

(2)非对称加密

非对称加密为数据的加密与解密提供了一个非常安全的方法,它使用了一对密钥,公钥(public key)和私钥(private key)。私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。目前最常用的非对称加密算法是RSA 算法。虽然非对称加密很安全,但是和对称加密比起来,它非常的慢,所以我们还是要用对称加密来传送消息,但对称加密所使用的密钥我们可以通过非对称加密的方式发送出去。

4 非对称加密 RSA 算法的作用

(1)加密:公钥加密私钥解密

主要用于将数据资料加密不被其他人非法获取,保证数据安全性。使用公钥将数据资料加密,只有私钥可以解密。即使密文在网络上被第三方获取由于没有私钥则无法解密,从而保证数据安全性。

  1. A 在自己电脑上生成 RSA 钥匙文件,一个私钥文件一个公钥文件,并将他的公钥传送给 B。
  2. 此时 B 要传送信息给 A,于是 B 用 A 的公钥加密他的消息,然后传送给A。(网络上传输的密文,没有 A 的私钥无法解密,其他人获取之后也没用)
  3. A 用他的私钥解密 B 的消息。

(2)认证:私钥加密公钥解密

主要用于身份验证,判断某个身份的真实性。使用私钥加密之后,用对应的公钥解密从而验证身份真实性。

SSH 公钥登录则用的是第二种功能。

5 如何生成 ssh 密钥对?

  • 运行完上面的命令会生成一对公私钥,默认保存在 ~/.ssh/ 下的 id_rsa,id_rsa.pub。
  • id_rsa 是私钥,id_rsa.pub 是公钥,私钥一定要妥善保管。
  • id_rsa 的权限必须是 600 , chmod 600 ~/.ssh/id_rsa。600 即(-rw------)只有所有者才有读和写的权限。

6 ssh 配置 config 文件与快捷登陆

(1)快捷登陆配置

在 ~/.ssh/ 下可以自己定义一些快捷键登陆的配置,该配置在 ~/.ssh/config

config 结构如下:

Host kafka_broker_01                      #定义主机别名
ServerAliveInterval 30
HostName 122.22.222.102 #主机ip
Port 33033 #ssh 端口
User bila #用户名
IdentityFile /Users/bila/.ssh/id_rsa #私钥
ProxyCommand ssh w_x_bastion -C -W %h:%p #设置跳板机

(2) 登陆

指定用户登录

ssh bila@192.168.0.103

指定端口号登录

ssh ssh 192.168.0.103 -p 2022

7 附录

GitHub如何配置SSH Key https://blog.csdn.net/u013778905/article/details/83501204

远程管理服务 SSH https://www.jianshu.com/p/d3412c5ebdaa

8 小结

啥是 SSH?SSH 的作用;对称加密、非对称加密的区别和作用;ssh 密钥对生成,以及 ssh 配置快捷登陆。

「不甩锅的码农」原创,转载请注明来源,未经授权禁止商业用途!同名 GZH 请关注!

017 Linux 之啥是 ssh ?的更多相关文章

  1. 远程连接Kali Linux使用PuTTY实现SSH远程连接

    远程连接Kali Linux使用PuTTY实现SSH远程连接 本书主要以在Android设备上安装的Kali Linux操作系统为主,介绍基于Bash Shell渗透测试.由于在默认情况下,在Andr ...

  2. 使用Linux系统中的SSH服务

    使用Linux系统中的SSH服务 1.SSH服务应用场景 ① 可以实现对文件的上传与下载 ② 实现远程管理Linux 2.安装SSH服务器 服 务:sshd 位 置:光盘2 软 件:openssh-s ...

  3. Linux启动或禁止SSH用户及IP的登录

    启动或禁止SSH用户登录 一般情况下,在使用Linux操作系统都不会去机房来操作机器,都是使用一些第三方的工具来操作. 比如使用SSH Secure File Transfer Client工具来传输 ...

  4. Linux下ftp和ssh详解

    学习了几天Linux下ftp和ssh的搭建和使用,故记录一下.学习ftp和ssh的主要目的是为了连接远程主机,并且进行文件传输.废话不多说,直接开讲! ftp服务器 1. 环境搭建 本人的系统是Arc ...

  5. Linux启动或禁止SSH用户及IP的登录,只允许密钥验证登录模式

    启动或禁止SSH用户登录 一般情况下,在使用Linux操作系统都不会去机房来操作机器,都是使用一些第三方的工具来操作. 比如使用SSH Secure File Transfer Client工具来传输 ...

  6. 了解一下 Linux 上用于的 SSH 图形界面工具

    如果你碰巧喜欢好的图形界面工具,你肯定很乐于了解一些 Linux 上优秀的 SSH 图形界面工具.让我们来看看这三个工具,看看它们中的一个(或多个)是否完全符合你的需求. 在你担任 Linux 管理员 ...

  7. Linux CentOS7系统中ssh的用法

    大家都知道,公司买上服务器,不可能实时在线操作虚拟机,也没有那个时间和精力登录到公司的云服务商官网进行操作,一来不安全,二来也效率不高. 如果是购买的虚拟主机,你可以使用ftp进行本地程序文件传输和从 ...

  8. 【转】Linux系统下的ssh使用

    Linux系统下的ssh使用(依据个人经验总结)   对于linux运维工作者而言,使用ssh远程远程服务器是再熟悉不过的了!对于ssh的一些严格设置也关系到服务器的安全维护,今天在此,就本人工作中使 ...

  9. Linux启动与禁止SSH用户及IP的登录

    以下就针对SSH方面讨论一下.假设有人特别关注Linux环境的安全性,第一就从login方面来进行讨论 1:Linux启动或禁止SSH root用户的登录 2:Linux限制SSH用户 事实上这些东西 ...

随机推荐

  1. 2.16图论专题PB

    超神建图技巧合集 CF1368G 每个骨牌变成让空位移动的至多两条有向边,证明图中无环,形成森林. 然后黑白染色,两类森林互不影响.转为每次标记 A 类一棵子树与 B 类一棵子树形成的所有点对. 再转 ...

  2. HttpRunner3的变量是如何传递的

    HttpRunner3的变量可以在测试类的用例配置中通过variables添加,也可以在测试步骤中使用extract().with_jmespath()提取出来放到变量x,再用$x传递给下一个接口使用 ...

  3. 很详细的FFT(快速傅里叶变换)概念与实现

    FFT 首先要说明一个误区,很多人认为FFT只是用来处理多项式乘的,其实FFT是用来实现多项式的系数表示法和点值表示法的快速转换的,所以FFT的用处远不止多项式乘. FFT的前置知识:点值表示法,复数 ...

  4. golang中的RPC开发-2

    RPC简介 远程过程调用(Remote Procedure Call,RPC)是一个计算机通信协议 该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程 如果 ...

  5. HTTP-常用请求头

    HTTP-常用请求头 Accept:表示客户端可以接收的数据类型 Accpet-Language:表示客户端可以接收的语言类型 User-Agent:表示客户端浏览器的信息 Host:表示请求时的服务 ...

  6. [源码分析] Facebook如何训练超大模型---(4)

    [源码分析] Facebook如何训练超大模型 --- (4) 目录 [源码分析] Facebook如何训练超大模型 --- (4) 0x00 摘要 0x01 背景知识 1.1 单精度.双精度和半精度 ...

  7. HTTPS加密证书(1)

    目录 一:HTTPS 1.HTTPS简介 二:模拟网站劫持 1.正常的页面(web01) 2.文件增加权限 3.编写文件网址配置 4.网址测试 三:安装鲨鱼鳍(抓取数据包) 四:(网站劫持)lb代理 ...

  8. 人工智能与智能系统1->机器人学1 | 位置与姿态描述

    寒假有几项学习计划,其中有一些是为了一些任务而学,最主要的任务是我要在2021_v4的基础上编写2022_v1的大援代码,为此顺便学习一下机器人学的知识(下学期也有这方面的老黄的课程),看看能不能在结 ...

  9. Webpack之 webpack-dev-server 中的 contentBase配置及作用

    contentBase:主要是指定静态资源的根目录的.  

  10. ql/sql 循环语句、异常处理、事务处理!

    一.ql sql 循环语句? /*1.loop循环 语法: 声明循环变量 loop 判断循环条件 ,如果循环条件不成立,跳出循if 条件表达式 then exit; end if; 语句块; 改变循环 ...