ssh问题、原理及diffie hellman算法
1、普通用户无法使用证书登录:原因是权限设置问题
将.ssh目录设为700,authorized_keys设为600即可。
2、查看ssh支持的算法
ssh -Q help
ssh -Q kex/key/mac/cipher
3、查看sshd当前配置的算法(运行时)
sshd -T | grep kex/cipher/key
4、使用特定的kex 或者 hostkey进行ssh登录
ssh -o kexalgorithms=xxxx -o hostkeyalgorithms=xxx users@x.x.x.x
标准的df算法是:diffie-hellman-group-exchange-sha1
5、diffie-hellman算法
公共参数:p质数 g底数
client private temp_key: x
server private temp_key: y
客户端计算:
e=g^x mod p
服务器计算:
f=g^y mod p
双方交换(e,f)
客户计算:
share_key=f^x mod p
服务器计算:
share_key=e^y mod p
计算过程只换底数。x和y的取值为[2..p-2] 好象是这样
说明:diffie-hellman算法有很多版本,每一种算法都不一样。用wireshark抓包时,如果算法不一样,算法协商后的exchange 阶段的包也不一样
6、ssh算法协商阶段,算法选择的原则
以客户端第一个匹配的值为准。
7、ssh大致工作原理:
ssh的安全性主要体现在:1)全程对数据包进行对称加密——cipher指定 2)所有数据包为了保证完整性,都有hash值(md5或sha) ----mac指定 3)可选压缩算法,节省带宽
4)对要连接的主机是否是自己要连接的主机进行确认,理论上讲应该采用CA认证,但考虑实际场景,都是采用对主机的public key的指纹进行人工确认的方式。--hostkey
ssh交互中包的格如下:
在正式进行交互之前,ssh必须首先协商出这个对称加密用的密钥。这里采用diffie hellman算法,也就是kex。
(需要确认) hostkey应该是指的 公钥文件采用的哪种算法:ssh-rsa,还是 dss等等。
8、SSH大致工作原理:
第一阶段:TCP握手---双方发送version信息---双方进行算法通告(五个算法:kex , key ,cipher, mac, zip )--- 各自选择算法 -- 进入DF阶段 -- 各自产生share_key后,彼此发送 new key消息
第二阶段:进入用户验证阶段,包括用户名/密码验证方式及证书验证方式
第三阶段:进入正式交换阶段,主要是channel ID及进程ID
以上三个阶段,除了第一个阶段的前半部分(new_key之前)是明文以外,后面的过程都是密文
9、man sshd_config
这里面有关于sshd_config和ssh_config的详细用法。需要注意的是:客户端并不是把支持的算法都发送给服务器,客户端也有默认算法,可以通过ssh -vvv进入调试模式,看调用哪个配置文件。
如果客户端与服务器连接失败,不要急于换个软件再试。先通过调试模式看看双方都采用了什么算法,如果不匹配,用-Q看看自己支持的全部算法,然后用-o选择一个服务器支持的算法,即可成功。
连接不成功,通常是kex或key无法协商一致造成的。cipher通常是AES/DES,这个部分出现的概率要低一些。当然,最好的方法是将所算法全部人工匹配一下。wireshark/科来capsa都能详细的解出各种算法
ssh问题、原理及diffie hellman算法的更多相关文章
- [转+自]SSH工作原理
SSH工作原理 熟悉Linux的人肯定都知道SSH.SSH是一种用于安全访问远程服务器的网络协议.它将客户端与服务端之间的消息通过加密保护起来,这样就无法被窃取或篡改了.那么它安全性是如何实现的呢? ...
- 深入浅出Diffie–Hellman
一.作者 这个密钥交换方法,由惠特菲尔德·迪菲(Bailey Whitfield Diffie).马丁·赫尔曼(Martin Edward Hellman)于1976年发表. 二.说明 它是一种安全协 ...
- 浅析Diffie–Hellman
一.作者 这个密钥交换方法,由惠特菲尔德·迪菲(Bailey Whitfield Diffie).马丁·赫尔曼(Martin Edward Hellman)于1976年发表. 二.说明 它是一种安全协 ...
- SSH加密原理、RSA非对称加密算法学习与理解
首先声明一下,这里所说的SSH,并不是Java传统的三大框架,而是一种建立在应用层和传输层基础上的安全外壳协议,熟悉Linux的朋友经常使 用到一 个SSH Secure Shell Cilent的工 ...
- Atitti 文本分类 以及 垃圾邮件 判断原理 以及贝叶斯算法的应用解决方案
Atitti 文本分类 以及 垃圾邮件 判断原理 以及贝叶斯算法的应用解决方案 1.1. 七.什么是贝叶斯过滤器?1 1.2. 八.建立历史资料库2 1.3. 十.联合概率的计算3 1.4. 十一. ...
- Gamma原理及快速实现算法(C/C++)(转)
源:Gamma原理及快速实现算法(C/C++) 原文:http://blog.csdn.net/lxy201700/article/details/24929013 参考 http://www.cam ...
- ssh登录原理及免密登录配置
ssh登录原理参考: https://www.cnblogs.com/hukey/p/6248468.html ssh登录有两种方式: 1):用户名密码登录 2):基于秘钥的登录 ssh免密登录指的就 ...
- Diffie–Hellman key exchange
General overview[edit] Illustration of the idea behind Diffie–Hellman key exchange Diffie–Hellman ...
- Linux实战教学笔记24:SSH连接原理及ssh-key
目录 第二十四节 SSH连接原理及ssh-key讲解 第1章 SSH服务 1.1 ssh介绍 1.2 知识小结 第2章 ssh结构 2.1 SSH加密技术 第3章 ssh服务认证类型 3.1 基于口令 ...
- SSH 的原理和实践
最近自己在学习使用SSH,现将自己理解的SSH原理和实践SSH的操作写成一篇博客,以供日后查看. 一.SSH是什么?为什么会出现SSH? SSH英文全称是Secure Shell,即安全外壳.首先SS ...
随机推荐
- Spring Boot Actuator未授权漏洞
Actuator 是 Spring Boot 提供的服务监控和管理中间件.当 Spring Boot 应用程序运行时,它会自动将多个端点注册到路由进程中.由于对这些端点的错误配置,就有可能导致一些系统 ...
- asp.net core 解决用户上传文件提示 System.UnauthorizedAccessException: Access to the path 'C:\Windows\TEMP\ASPNETCORE_e65c14f7-e337-493c-90ac-d49a48db7187.tmp' is denied.
今天发布项目到服务器 上传文件突然提示 System.UnauthorizedAccessException: Access to the path 'C:\Windows\TEMP\ASPNETCO ...
- WC2023 游记
不是很会写游记,随便写写吧. 一些附件 讲课资料合集(压缩后 \(\rm 31MB\))太大了,可以去 U 群下载. 由于后面很多乐子,我把相关内容打包成 zip 上传上来了. 乐子合集下载链接.(这 ...
- CF1067E 题解
题意 传送门 给定一棵 \(n\) 个节点的树,每条边有 \(\frac{1}{2}\) 的概率出现,可以得到一个森林,求这个森林邻接矩阵的秩的期望. \(1\le n\le5\times10^5\) ...
- WindowsServer2012搭建FTP服务器站点
公司需要搭建一个FTP服务器给银行推送账单,这个文章整理的比较详细,可以参考 数据来源: https://blog.csdn.net/u010483330/article/details/125931 ...
- xlsx 前端导出Excel
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 其他2-while+read按行读取文件
一.三种方法 1.exec读取文件 exec <file sum=0 while read line do cmd done 2. cat读取文件 cat file|while read lin ...
- E. Permutation Game
https://codeforces.com/contest/1772/problem/E 题目大意就是给一个1~n的全排序列,所有数字都是红色的,两人轮流操作,操作有三种选择,第一是将所有蓝色的数字 ...
- 【PDF】数理科学 2001年01月号 特集:「時間とは何か」- 時間が生んだ世界観とパラダイム -
书本详情 标题:数理科学 2001年01月号 特集:「時間とは何か」- 時間が生んだ世界観とパラダイム - | 数理科学編集部 | 年份:2001出版社:サイエンス社ISBN10:暂无信息5ISBN1 ...
- opencv基本函数详解笔记
一.读取保存图片 Mat scrImage = imread("1.jpg"); //显示图像 imshow("原图", scrImage); //窗口等待 w ...