zoukankan      html  css  js  c++  java
  • ssh服务

    一. 概念、定义:
    * SSH是Secure Shell Protocol的简写,由IETF网络工作小组(Network Working Group)制定。
    * SSH在数据传输之前,将联机数据包进行加密处理,才会发出给服务端。
    * SSH是unix/linux进行远程控制或者传输文件的一种协议。
    * SSH包括两部分,SSH客户端和SSHD服务端。
    二. 特点:
    * SSH是密文传输,较明文传输的telnet安全。
    * SSH是基于TCP传输协议的,所以是可靠传输。
    * SSH的默认端口是22,如要改变端口号,需在修改配置文件之后,加-p参数指定新端口进行ssh连接。
    三. 连接过程:
    基于账户密码的连接方式:
    1) 客户端用会话密钥加密用户名、认证方法、密码并将加密后的结果发至服务器端。
    2) 服务器端使用会话密钥解密得到用户名、密码,进行核对。若正确,则通过连接;若失败,则返回认证失败报文给客户端。客户端循环第一步,
    直至达到最大连接次数,TCP连接关闭。
    基于公钥私钥的连接方式:
    1) 客户端使用ssh-keygen生成一对公钥和私钥。
    2) 客户端将公钥推送至服务端。ssh-copy-id -i ~/.ssh/id_rsa.pub server,即将本机的公钥推送至server机的~/.ssh/authorized_keys里。
    3) 客户端用会话密钥加密用户名、认证方法、公钥并将加密后的结果发至服务器端。
    4) 服务器端进行解密后,对比此公钥是否存在于server机的~/.ssh/authorized_keys里。若存在,通过验证,进行下一步;若不存在,
    则返回失败信息。
    5) 服务器端生成质询码,用客户端公钥进行一次加密,用会话密钥进行二次加密,推送给客户端。
    6) 客户端使用会话密钥进行一次解密,用公钥进行二次解密得到质询码。将质询码用会话密钥加密后重新发送给服务器端。
    7) 服务器端使用会话密钥解密后,判断是否是自己的质询码。如果是,则免密登录;若不是,则返回连接失败的信息。

  • 相关阅读:
    POJ 3630
    Codeforces Round #219 (Div. 2) D题
    Codeforces Round #232 (Div. 2) On Sum of Fractions
    Codeforces Round #232 (Div. 2) C
    撸呀撸的左手(KMP+DP)
    hdu poj KMP简单题目总结
    LCT总结
    bzoj1019 [SHOI2008]汉诺塔
    NOIP2016总结
    p1199八数码问题
  • 原文地址:https://www.cnblogs.com/young233/p/10834171.html
Copyright © 2011-2022 走看看