• SSH基本概念和用途


    一、SSH是什么

    简单的说,SSH是一种网络协议,主要用于客户端与远程主机的安全链接和交互。

    二、常见用法
    1.客户端与远程主机的安全链接
    命令如下:

    $ ssh -p 2222 user@host

    解释如下:
    -p 2222 :指定端口号2222
    user :登陆用户名
    host ;远程主机地址

    安全链接的过程是:
    1.远程主机端收到客户端的登陆请求时先发送自己的公钥给客户端
    2.客户端用拿到的公钥加密用户名和密码,然后发送给远程主机
    3.远程主机用自己的密钥解密收到的用户名和密码,然后校验用户名和密码是否正确,如果正确则登陆成功。

    另外:
    在链接的过程中会有如下信息

     $ ssh user@host
      The authenticity of host 'host (12.18.429.21)' can't be established.
      RSA key fingerprint is 98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d.
      Are you sure you want to continue connecting (yes/no)?


    会用一个确认,提醒客户端是否确定链接此远程主机,并打印出了主机的公钥指纹:98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d.
    远程主机的公钥指纹可以到远程主机的WEB页面进行人工确认。

    2.客户端免密登陆远程主机
    如果只是通过第一步,以后的每次登陆都需要输入登陆密码,非常麻烦。幸运的是SSH提供了公钥登陆(免密登陆)
    公钥登录的流程如下:
    1.客户端在自己本地生成一对公钥密钥文件,然后将公钥存储在远程主机上
    2.客户端登陆时,远程主机会随机生成一串字符串发送给客户端
    3.客户端用自己的密钥将收到的字符串加密,并返回给远程主机
    4.远程主机利用公钥解密收到的加密字符串,如果解密成功并且与发送的一致则直接免密登陆。

  • 相关阅读:
    Http错误代码
    Android View自动生成插件
    【Android】设备标识
    【Android】键盘的展开和收起
    【Android】Activity生命周期(亲测)
    【Android】IntentService & HandlerThread源码解析
    【Android】与服务器实现JSON数据通信
    【Web】Eclipse + Maven + Struts搭建服务器
    【Android】Kill Service
    【Android】Handler、Looper源码分析
  • 原文地址:https://www.cnblogs.com/zhou--fei/p/6942699.html
Copyright © 2020-2023  润新知