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)

大家都在看

  • 尝试阅读理解一份linux shell脚本

    从头一二去阅读语法和命令说明,对于脚本小白来说比较枯燥,难以坚持,所以这里选择对一份完整的shell脚本代码来逐行逐段解读,希望可以一渡小白,帮助我们快速进入脚本的大门_。司机要开…

    Linux 2023年6月6日
    085
  • [python] arch linux install mysql and use with python

    1. 概述 2. 安装 MySQL / MariaDB 3. 运行 MySQL / MariaDB 4. 配置 MySQL / MariaDB 5. 使用 MySQL / Mari…

    Linux 2023年6月8日
    093
  • Linux网络配置

    第一种 通过编辑网络配置文件/etc/sysconfig/network-scripts/ifcfg-ens32 -> TYPE=Ethernet -> #网卡类型是以…

    Linux 2023年5月27日
    0104
  • Java基础系列–01_基础类型

    J2SE、J2ME、J2EE分别指什么?J2SE 基础版,桌面应用。J2ME 微型版,手机开发。(android,ios)J2EE 企业版,所有浏览器访问的应用程序。注意:JDK5…

    Linux 2023年6月7日
    098
  • C语言课堂–现代编译环境搭建[2020年7月]

    看过了很多专家吐槽目前的大学c语言教学问题多多: 教材难懂,消磨了学生的兴趣; 环境老旧,都2020了还有在用VC6甚至TurboC 2.0,语法不规范。 轮到自己上课,心想可不能…

    Linux 2023年6月7日
    0106
  • Xbox无法进入开发者模式

    从2020.09.01起,Xbox的dev mode app估计是证书过期或者其他系统配置问题,导致大量开发者无法进入开发者模式,具体如下图所示。 针对上述问题,可以通过微软预先设…

    Linux 2023年6月13日
    0258
  • 一维热传导方程的回焊炉子炉温模型

    赛题链接 论文链接 1. 有限差分方法 参考 1.1 一阶微分 由泰勒公式: 对上式变形即可以得到 一阶微分的向前差分公式: 将上式中的h用-h替代,则可以得到 一阶微分的向后差分…

    Linux 2023年6月14日
    0105
  • 进程相关指令

    pgrep 查找进程名 KILL 删除 执行中的进程和工作 free 打印系统情况和内存情况 free [-bkmgotsh] free -h total used free sh…

    Linux 2023年6月7日
    0106
  • NoteOfMySQL-12-备份与还原

    一、备份概述 备份不是单纯的复制数据,因为这样无法留下历史记录和系统的DNS或Registry等信息。完整的备份应包括自动化的数据管理与系统的全面恢复,即备份=复制+管理。 1. …

    Linux 2023年6月14日
    072
  • Linux之Keepalived高可用

    一、高可用介绍 一般是指2台机器启动着完全相同的业务系统,当有一台机器down机了,另外一台服务器就能快速的接管,对于访问的用户是无感知的。 硬件通常使用:F5 软件通常使用:Ke…

    Linux 2023年6月14日
    0138
  • 我的第一个程序

    新建一个java文件 文件后缀名为.java Hello.java 【注意点】系统可能没有显示文件后缀名,我们需要手动代开 编写代码 public class Hello{    …

    Linux 2023年6月7日
    064
  • phpcms安装

    【快速安装开始】 下载解压phpcms,复制安装文件到站点目录”/opt/html”里,给予权限(官网无法访问了,所以下载地址需自行寻找上传) cd /us…

    Linux 2023年6月6日
    072
  • JAVA设计模式-单例模式

    JAVA设计模式-单例模式 单例模式 类只能有一个实例,在内存中会创建并且只创建一次对象。所有其他类或者其他需要调用的地方都是用这一个对象,可以防止频繁创建对象,内存占用高。特点:…

    Linux 2023年6月6日
    097
  • Redis-Cluster实战–5.使用redis-cli安装

    Redis-Cluster实战–5.使用redis-cli安装 博客分类: redis 缓存 redis-cluster redisCluster指派槽cluster-infom…

    Linux 2023年5月28日
    095
  • shell脚本

    一、shell脚本基本介绍 格式要求 脚本要以 #!/bin/bash 开头,debain需要改成#!/bin/dash 脚本需要有可执行权限 shell常用执行方式 输入脚本的绝…

    Linux 2023年6月6日
    089
  • 【电子取证:FTK Imager篇】DD、E01系统镜像仿真

    星河滚烫,人生有理想!​—【suy999】 一、DD、E01系统镜像动态仿真 在电子取证分析过程中,我们经常遇到DD、E01等系统镜像,然而,并非所有工作者手边都有自动…

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