zoukankan      html  css  js  c++  java
  • linux使用:SSH概述、在linux下安装SSH命令

    一、IP/TCP协议的不安全性
    TCP/IP协议有以明文传输、无法验证通讯方身份等特点因此是不安全的通讯协议。是可以被窃听的,窃听者可以通过解析传输的内容,或者仿造为通讯方等方式来截取什么篡改通讯信息,因此如果通信过程被截取,那么这个通讯过程就暴露了出来。

    使用TCP/IP协议我们无法辨别信息的安全性,因为明文传输的特点导致了,我们传输的信息可以被窃听者解析,甚至篡改。

    可能有人会说我们在通讯过程中设置一个密码不就好了嘛,或者用一个加密算法加密一下。当前可以,但是问题是这个密码或者加密算法怎么通知对方呢?因为你在使用TCP/IP协议传输的过程中,信息就有可能已经被窃听者听到了,所以你设密码的事情,窃听者也知道。难道我们要使用面对面通知对方,或者用电话的方式通知?当然没有必要,因此SSH应运而生。

    二、什么是SSH协议
    SSH是建立在应用层上的安全协议,采用的RSA 算法,RSA算法是一种非对称加密算法。什么是非对称的?

    加密与解密使用的密钥不是同一密钥,对中一个对外公开,称为公钥,另一个只有所有者知道,称为私钥。用公钥加密的信息只有私钥才能解开,反之,用私钥加密的信息只有公钥才能解开(签名验签)。

    举个例子:A制作了一个盒子,并上了把锁,只有他自己有钥匙。然后他把盒子和锁送给了B,然后B把东西放在盒子里面锁上了,然后还给了A,那么现在A就可以用钥匙打开锁,拿出里面的东西。
    作为窃听者的C虽然在A给B盒子和锁的过程中也获得了盒子和锁,但是他不知道钥匙是怎么做的,因此在B给A还盒子的过程中他无法打开盒子。因此不能看里面的东西。

    实际上SSH也是这种原理,SSH协议会产生两个密匙,一个公钥,一个私钥。他的公钥只能由他的私钥打开。他将公钥发送给了别人,而私钥自己持有,当进行通讯的时候,对方通讯的信息包含在其持有的公钥之中传递过来,然后由自己的私钥进行解开。查看其中的内容,如果再传递过程中发生了劫持,那么由于劫持方没有私钥,无法解密信息的内容。因此无法查看其信息。

    三、什么是SSH工作流程
    我们介绍一下他的工作流程

    • 客户端向服务器端发出连接请求
    • 服务器端向客户端发出自己的公钥
    • 客户端使用服务器端的公钥加密通讯密钥然后发给服务器端
    • 如果通讯过程被截获,由于窃听者即使获知公钥和经过公钥加密的内容,但不拥有私钥依然无法解密(RSA算法)
    • 服务器端接收到密文后,用私钥解密,获知通讯密钥

    四、在linux上安装SSH
    在linux最小化安装等安装模式下,linux是没有ssh命令的,我们需要安装他,可以使用root用户执行下面命令安装并启动SSH

    [root@tiny01 ~]# yum  -y install openssh openssh-clients openssh-server
    [root@tiny01 ~]# # 启动SSH
    [root@tiny01 ~]# /etc/init.d/sshd start
    [root@tiny01 ~]# # 设置SSH自启
    [root@tiny01 ~]# chkconfig --level 235 sshd on
    

    五、参考资料
    RSA ~ 非对称加密算法

  • 相关阅读:
    Windows Phone本地数据库(SQLCE):2、LINQ to SQL(翻译)(转)
    Windows Phone本地数据库(SQLCE):1、介绍(翻译)(转)
    使用Application.GetResourceStream方法加载资源时得到的总是null
    Subversion detected an unsupported working copy version
    SQLCE使用
    Visual Studio 2013 sqlce 配置(转)
    未能连接到设备,因为它已由开发人员锁定
    windows phone 基础
    64位操作系统下IIS报“试图加载格式不正确的程序”错误
    清除数据库表、外键、存储过程SQL
  • 原文地址:https://www.cnblogs.com/erygreat/p/7220760.html
Copyright © 2011-2022 走看看