zoukankan      html  css  js  c++  java
  • 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.远程主机利用公钥解密收到的加密字符串,如果解密成功并且与发送的一致则直接免密登陆。

  • 相关阅读:
    C#中 ??、 ?、 ?: 、?.、?[ ] 问号各组合含义
    ASP.NET Core MVC配置差异(3.0和2.X)
    vs code搭建Django环境
    解决真机编译出现System.DllNotFoundException: 'libmono-native.so'错误都方法
    选择器
    Web.Config配置
    读Xamarin文档记录
    【前端自动化】Gulp的使用(一):安装gulp
    关于angularJS绑定数据时自动转义html标签
    【记录】两年程序生涯的点滴与反思
  • 原文地址:https://www.cnblogs.com/zhou--fei/p/6942699.html
Copyright © 2011-2022 走看看