017 Linux 之啥是 ssh ?

017 Linux 之啥是 ssh ?

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)加密:公钥加密私钥解密

主要用于对数据进行加密,不被他人非法获取,确保数据安全。使用公钥加密数据,只有私钥才能解密。即使密文是由网络上的第三方获取的,也因为没有私钥而无法解密,从而保证了数据的安全性。

[En]

It is mainly used to encrypt the data and not to be illegally obtained by others to ensure the security of the data. Use the public key to encrypt the data, and only the private key can be decrypted. Even if the ciphertext is obtained by a third party on the network, it cannot be decrypted because there is no private key, so as to ensure the security of the data.

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

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

它主要用于身份认证,判断身份的真实性。用私钥加密后,用对应的公钥解密,以验证身份的真实性。

[En]

It is mainly used for authentication to judge the authenticity of an identity. After encryption with a private key, it is decrypted with the corresponding public key to verify the authenticity of the identity.

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

5 如何生成 ssh 密钥对?

017 Linux 之啥是 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 请关注!

Original: https://www.cnblogs.com/bilahepan/p/15934065.html
Author: 不甩锅的码农
Title: 017 Linux 之啥是 ssh ?

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/524068/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • java调用python的惨痛史(无法获取环境变量)

    环境:java,was,python2.6,红帽linux,oracle,python用cx_Oracle事情是这样的,有个需求,需要对数据库进行处理,简单说就是把数据取出来,用p…

    Linux 2023年6月6日
    0113
  • [转帖]shell 学习之until语句

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年5月28日
    0133
  • .Net MVC实现全局异常捕捉返回通用异常页面的一种方式

    阅文时长 | 0.54分钟字数统计 | 876字符主要内容 | 1、引言&背景 2、部分通用设计代码 3、声明与参考资料『.Net MVC实现全局异常捕捉返回通用异常页面的…

    Linux 2023年6月13日
    0130
  • EXCEL中vlookup函数的使用

    =LOOKUP(“座”,INDIRECT(“A1:A”&MATCH(E3,B1:B14,))) 这个公式中还嵌套了INDIR…

    Linux 2023年6月13日
    0134
  • VBA中Selection.TypeText长度限制的替代写法

    | 0.06分钟 | 100字符 | 1、引言&背景 2、解决方案 3、声明与参考资料 | SCscHero | 2022/6/5 AM11:34 | 系列 | 已完成 每…

    Linux 2023年6月14日
    0118
  • 微信小程序大型系统架构中应用Redis缓存要点

    在大型分布式系统架构中,必须选择适合的缓存技术以应对高并发,实现系统相应的高性能,酷客多小程序经过慎重选型,选择了采用基于腾讯云服务的Redis弹性缓存技术,结合Redis官方推荐…

    Linux 2023年5月28日
    0132
  • Docker存储卷

    Docker存储卷 1、COW机制 Docker镜像由多个只读层叠加而成,启动容器时,Docker会加载只读镜像层并在镜像栈顶部添加一个读写层。 如果运行中的容器修改了现有的一个已…

    Linux 2023年6月7日
    0106
  • Redis与Memcached的区别

    Redis与Memcached的区别:如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点:1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list…

    Linux 2023年5月28日
    096
  • 2:数据和提取

    Mail 新的小插件 tldr tldr简化了烦琐的 man的输出帮助信息,只列出关键的语法信息、例子,方便用户使用。 npm install -g tldr vim 的语法 ^$…

    Linux 2023年6月7日
    0108
  • python串口助手

    最近项目中要使用模拟数据源通过向外发送数据,以前都是用C#编写,最近在研究python,所以就用python写了一个串口助手,方便以后的测试。 在电脑上通过虚拟串口助手产生两个虚拟…

    Linux 2023年6月14日
    0132
  • OpenSSL测试-随机数

    任务详情 在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务 使用OpenSSL定义一个私有函数 static int getRandom(char…

    Linux 2023年6月8日
    0137
  • Linux—OpenSSH服务

    Linux—OpenSSH服务 OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。SSH协议可以用来进行远程控制或在计算机之间传送文件。而实现此功能的传…

    Linux 2023年6月7日
    0132
  • Redis连接出现Error: Connection reset by peer的问题是由于使用Redis的安全模式

    现在网上一查出现安全模式的连接,基本都是要关闭服务端的操作,其实这种方式是不正确的,最有效的解决方式是使用stunnel进行安全模式的连接。 我碰到的问题是微软云(其实我不想用!)…

    Linux 2023年5月28日
    0122
  • Go-channel

    (1)channel本质就是一个数据结构——队列 (2)数据先进先出 (3)线程安全,多goroutine访问时,不需要加锁,channel本身就是线程安全的 (4)channel…

    Linux 2023年6月8日
    0130
  • 循环通过逗号分隔的shell变量

    假设我有一个Unix shell变量,如下所示 variable=abc,def,ghij 我想使用for循环提取所有值(abc,def和ghij),并将每个值传递给一个过程。 脚…

    Linux 2023年5月28日
    0109
  • redis 入门安装流程

    redis安装流程 安装linux的Redis [官网下载即可][ https://redis.io/download/ ] 一般会移动到opt目录下 mv redis-7.0.4…

    Linux 2023年6月7日
    0129
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球