客户端在访问服务器的时候,防止通讯信息被截取,进行加密处理通讯。
在服务器上会有两把钥匙,公钥和私钥。公钥可以对所有公开,私钥只有服务器自己知道,
并且公钥产生的密文只能通过私钥才能解开

1:客户端发起请求,连接到服务器监听端口,服务器接收到请求用户,服务器把公钥发送回给客户端

2:客户端拿到公钥后,用公钥对通讯密文(即客户端自己产生的通讯钥匙,非公钥也非私钥)进行加密,再发送回给服务器端

3:服务器拿到加密后的通讯密文后,用私钥进行解密公钥生成的通讯密文,此时服务器和客户端就
共同拥有此通讯密文,任何第三天都不知道,即使通讯过程被窃听,也无法获得密文内容,双方通过
通讯密钥对通讯内容进行加密进行传送

4:完成通讯密文确认用户,建立了安全通道,服务器发送信息到客户端,要求客户端输入用户名密码

5:客户端收到信息,输入用户名密码,并且通讯密钥进行加密,发送到服务器

6:服务端再解密,并验证用户名密码的正确型,接受或者拒绝连接

总结:整个过程加密解密无处不在,所以加密方式很重要,并且大量的信息通讯不适合使用大计算量的加密方式(rsa),对称加密法已经能够满足,如 
des,aes加密法。

网上找的一个流程图,很好的说明此过程。

SSH公钥私钥安全通讯原理的更多相关文章

  1. 6 git 生成SSH公钥/私钥 查看公钥

    如果没有公钥的话就生成公钥私钥:  $ ssh-keygen 然后连续回车(一次是位置,两次密码)

  2. ssh公钥私钥

    ssh配置文件vi /etc/ssh/sshd_config putty下载http://www.chiark.greenend.org.uk/~sgtatham/putty/download.htm ...

  3. ssh公钥自动登陆

    第一步,在服务器上安装ssh服务 sudo apt-get install ssh 通过ssh -v查看是否安装成功 第二步创建本地公钥秘钥对 ssh-keygen -t rsa  //创建ssh公钥 ...

  4. ssh公钥认证原理及设置root外的其他用户登录ssh

    1)创建其他用户 useradd [-d 登录目录] [-G ssh][用户名]  一定要将用户添加到ssh组不然无法没有权限登录ssh 2)设置ssh不允许root登录 vi /etc/ssh/ss ...

  5. ssh各种姿势---ssh-keygen 生成ssh公钥和私钥

    利用ssh-keygen -t rsa可以生成ssh公钥和私钥,实现免输密码的ssh登陆     ssh-keygen -l -f /etc/ssh_host_rsa_key   ssh-keygen ...

  6. ssh配置公钥私钥登录服务器

    原理 密码的方式的即时认证的方式 .而公私钥 是在服务器保存一份已经通过认证的加密串,登录时通过这个加密串去认证. 公钥是可以传播的,私钥只能在自己的本地 公私钥的工作原理, 可以参考这篇文章: SS ...

  7. SSH公钥登录原理

    在平时工作中我们经常要远程登录服务器,这就要用到SSH协议: $ ssh user@host 主要有两种登录方式:第一种为密码口令登录,第二种为公钥登录 密码口令登录 通过密码进行登录,主要流程为: ...

  8. ssh,公钥和私钥,远程复制

    ssh,公钥和私钥,远程复制 1.openssh 是一个提供远程访问控制的软件 2.ssh 远程主机用户@远程主机ip地址 ssh root@172.25.254.1 The authenticity ...

  9. RSA-演变过程、原理、特点(加解密及签名)及公钥私钥的生成

    本篇是iOS逆向开发总结的第一篇文章,是关于iOS密码学的相关技术分析和总结,希望对大家有所帮助,如果有错误地方欢迎指正. 一.前言 密码学的历史追溯到2000年前,相传古罗马凯撒大帝为了防止敌方截获 ...

随机推荐

  1. 刚安装的ios app 会带有教你功能使用的特效说明 做法

    这个功能使用说明是每次app更新或者第一次安装都需要显示的.你可以给每个需要显示的说明界面设置一个BOOL变量控制它是否显示.在applicationDidFinishLaunching的函数中判断a ...

  2. itext poi 学习之旅 (1)创建pdf

    从零开始学习itext 创建pdf 1.用到流进行创建的pdf import java.io.File; import java.io.FileOutputStream; import com.ite ...

  3. C/C++中虚函数的调用

    代码: #include <iostream> using namespace std; class A{ public: virtual void print(){ cout<&l ...

  4. uva 759 - The Return of the Roman Empire

    #include <cstdio> #include <string> #include <map> using namespace std; ; , , , , ...

  5. uva 10222 - Decode the Mad man

    #include <iostream> #include <string> #include <cctype> using namespace std; int m ...

  6. C#使用log4net

    C#很多异步机制使程序无法使用断点调试,这时候我们就需要使用日志输出.使用log4net一定要先引用net4log这个dll,不然无法使用. 作者很懒,直接上代码吧. using System; us ...

  7. CSS/CSS3长度、时间、频率、角度单位大全

    by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=1494 一.一笔带过的 ...

  8. 让IE支持CSS3 Media Query实现响应式Web设计

    如今的屏幕分辨率,小至320px(iPhone),大到2560px甚至更高(大显示器),变化范围极大.除了使用传统的台式机,用户会越来越多的通过手机.上网本.iPad一类的平板设备来浏览页面.这种情况 ...

  9. Number Sequence(HDU 1005 构造矩阵 )

    Number Sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  10. App 冷启动:给 Android 的 Activity 添加一个背景

    2016/8/8 11:11:18 # 纠错 之前写的这篇内容的知识点有误,给大家造成了误导,深感抱歉. android 中给 Activity 设置背景的方法是在 style 文件中设置 windo ...