热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

什么是ssh,它是如何做到对信息进行加密操作的-linux运维

在早期的远程连接服务器采用的是明文传输的软件,比如telnet、RSH,后来它们都ssh协议取代了。SSH服务是可以提供信息加密后再对数据进行传输,安全性大大提高。
在早期的远程连接服务器采用的是明文传输的软件,比如telnet、RSH,后来它们都ssh协议取代了。SSH服务是可以提供信息加密后再对数据进行传输,安全性大大提高。SSH有两个主要的功能:

  • 能够连接远程主机,对主机的资源进行管理

  • 能够进行文件的传输,类似ftp服务

SSH加密技术

SSH使用了非对称加密技术,关于什么是对称加密以及非对称加密,读者想要更深入的了解请自行谷歌。非对称加密主要通过公钥与私钥来完成的,其中公钥对发送的信息进行加密,接受到信息后,使用私钥对信息进行解密。

  • 公钥(Public key):给发送给对方主机的信息进行加密的行为,所以你的主机公钥可以给想要进行通信的另外主机。

  • 私钥(Private key):当远程主机给当前主机发送了进行公钥加密的信息后,当前主机利用自己的私钥来对该信息进行解密。记住,你的私钥千万不能让其他主机知道。

下面通过图解来说明两台主机如何进行通信的

首先,当主机A想要给主机B发送信息时,先用主机B的公钥对将要发送的信息进行加密,当主机B收到主机A发送来的加密后的信息时,使用自己的私钥将信息解密。同理,主机B发送信息给主机A时,先用主机A的公钥对信息加密,然后收到加密后的信息的主机A,用自己的私钥对其解密。

连接远程主机的流程

下面来看本地客户机是如何连接上远程的服务器的

  1. 当服务器第一次启动sshd服务时,自动生成公钥及私钥。这些文件存放在/etc/ssh/目录下。

  2. 本地主机通过终端工具或其他方法对服务器发起请求连接。

  3. 收到客户端请求后,服务器将自己的公钥发送给客户机

  4. 客户机若之前没有保存服务器的公钥,那么就会将公钥保存客户机上面。对于windows系统,该公钥存放在C:\Users\admin.ssh\known_hosts文件内,若是linux主机,则保存在家目录的.ssh/know_hosts文件内。

  5. 客户机将自己的公钥发送给服务器,服务器保存客户端的公钥。

  6. 客户机和服务器进行通信。

更多相关技术文章,请访问linux系统教程栏目!

以上就是什么是ssh,它是如何做到对信息进行加密操作的的详细内容,更多请关注 第一PHP社区 其它相关文章!


推荐阅读
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Java学习笔记之使用反射+泛型构建通用DAO
    本文介绍了使用反射和泛型构建通用DAO的方法,通过减少代码冗余度来提高开发效率。通过示例说明了如何使用反射和泛型来实现对不同表的相同操作,从而避免重复编写相似的代码。该方法可以在Java学习中起到较大的帮助作用。 ... [详细]
  • 原理:dismiss再弹出,把dialog设为全局对象。if(dialog!null&&dialog.isShowing()&&!(Activity.)isFinishing()) ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • 本文详细介绍了在Centos7上部署安装zabbix5.0的步骤和注意事项,包括准备工作、获取所需的yum源、关闭防火墙和SELINUX等。提供了一步一步的操作指南,帮助读者顺利完成安装过程。 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
author-avatar
蘚小凤_950
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有