1 转自

http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html

2 ssh远程登陆的原理

普通用户远程登陆

ssh jason@host

root用户远程登陆

ssh root@host

如果本地用户名和远程用户名相同,可以直接ssh  host

当openssh服务器收到远程登陆请求的时候,它会把自己的公钥发送给发起请求的机器,发起请求的机器用该公钥对该用户密码进行加密,然后发送给openssh服务器,openssh服务器用自己的私钥解密,然后比对密码,如果一样,那么就允许该用户远程登陆,否则登陆失败。

普通用户直接登录即可,但是root用户需要配置一下:

修改/etc/ssh/sshd_config的PermitRootLogin为yes,然后重启一下sshd服务。

3 中间人攻击

这个远程登陆过程看起来高明,但是存在一个缺陷,那就是中间人攻击。

如果登陆请求被中间人截获,它可以模拟服务器发一个自己的公钥过来,那么密码就被它窃取了。

避免中间人攻击的方法,官方服务器公示自己的公钥,然后在用户第一次登陆的时候,会有提示:

ECDSA key fingerprint is SHA256:e27/UCrQmDnO06Fc7gP/2ixI5lkFaG9hNXtcXqRmmq8.
Are you sure you want to continue connecting (yes/no)? yes
如果对上了,那么就说明可以安全的用这个公钥加密密码了,因为就算被中间人窃取了,他也解密不了,因为他没有私钥。

4 无秘钥ssh登陆的原理

想要登陆方也生成一对秘钥,他将自己的公钥放到被登陆的服务器上,然后发起登陆请求,被登陆的服务器发送一段随机字符串给他,他用自己的私钥加密,然后回复给被登陆服务器,被登陆服务器用公钥解密,如果是正确的,就允许登陆。由于只有可信的用户才能放公钥到被登陆的服务器,因此整个过程是可信的。

命令:

生成公钥,ssh-keygen

向被登陆机器发送公钥,ssh-copy-id user@host

ssh原理【转】的更多相关文章

  1. SSH原理与运用

    SSH是每一台Linux电脑的标准配置. 随着Linux设备从电脑逐渐扩展到手机.外设和家用电器,SSH的使用范围也越来越广.不仅程序员离不开它,很多普通用户也每天使用. SSH具备多种功能,可以用于 ...

  2. SSH原理与运用(二):远程操作与端口转发

    SSH原理与运用(二):远程操作与端口转发 作者:阮一峰 (Image credit: Tony Narlock) 七.远程操作 SSH不仅可以用于远程主机登录,还可以直接在远程主机上执行操作. 上一 ...

  3. SSH原理与运用(一)和(二):远程登录 RSA算法原理(一)和(二)

    SSH原理与运用(一)和(二):远程登录  RSA算法原理(一)和(二) http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html ht ...

  4. SSH原理与运用一:远程登录(转)

    原文:http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html 作者: 阮一峰 SSH是每一台Linux电脑的标准配置. 随着Linux ...

  5. ssh原理[转]

    SSH是每一台Linux电脑的标准配置. 随着Linux设备从电脑逐渐扩展到手机.外设和家用电器,SSH的使用范围也越来越广.不仅程序员离不开它,很多普通用户也每天使用. SSH具备多种功能,可以用于 ...

  6. Hadoop第一式:配置Linux环境之免密配置及SSH原理

    一.配置SSH免密登录 进入/.ssh目录,执行密钥生成指令 ssh-keygen -t rsa (rsa为默认加密格式) 然后会出现四个提示,让你选择密钥保存路径.指纹.拍照啥的,不用管它直接回车过 ...

  7. ssh原理图解

    SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理Linux系统的首选方式.在此之前,远程登录一般常用FTP和Telnet,但是它们以明文的形式在网络中传输账 ...

  8. 图解SSH原理及两种登录方法

    SSH(Secure Shell)是一套协议标准,可以用来实现两台机器之间的安全登录以及安全的数据传送,其保证数据安全的原理是非对称加密. 传统的对称加密使用的是一套秘钥,数据的加密以及解密用的都是这 ...

  9. SSH原理与运用(一):远程登录(转)

      作者: 阮一峰 日期: 2011年12月21日 SSH是每一台Linux电脑的标准配置. 随着Linux设备从电脑逐渐扩展到手机.外设和家用电器,SSH的使用范围也越来越广.不仅程序员离不开它,很 ...

  10. 图解SSH原理

    1. 初见SSH SSH是一种协议标准,其目的是实现安全远程登录以及其它安全网络服务. SSH仅仅是一协议标准,其具体的实现有很多,既有开源实现的OpenSSH,也有商业实现方案.使用范围最广泛的当然 ...

随机推荐

  1. ajax 下拉加载更多效果

    1.生成HTML <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  2. 【Luogu】P1119灾后重建(Floyd)

    题目链接 见题解: feilongz. 这里只放代码. #include<cstdio> #include<cstring> #include<cstdlib> # ...

  3. VIJOS 1889 天真的因数分解 ——莫比乌斯函数

    同理BZOJ2440 二分答案,不过这次变成了统计含有平方因子的个数 #include <cmath> #include <cstdio> #include <cstri ...

  4. BZOJ 1095 [ZJOI2007]Hide 捉迷藏 ——动态点分治

    [题目分析] 这题好基啊. 先把分治树搞出来.然后每个节点两个堆. 第一个堆保存这个块里的所有点(即分治树中的所有儿子)到分治树上的父亲的距离. 第二个堆保存分治树子树中所有儿子第一个堆的最大值. 建 ...

  5. 算法复习——splay(bzoj3224)

    题目: Description 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3. 查询x数的排名(若有多个 ...

  6. gulp 环境搭建

    wind+r弹出cmd命令窗口 要先安装node及npm,检查是否安装成功,node -v,npm -v可查看nod及npm的版本号. 安装gulp之前我们需要安装nodejs的环境,检测能够正常使用 ...

  7. (6)DataTable 转换成 Json

    下载  Json.Net DLL      http://www.newtonsoft.com/json    需要FQ using Newtonsoft.Json; public string Da ...

  8. noip2009提高组解题报告

    NOIP2009潜伏者 题目描述 R 国和S 国正陷入战火之中,双方都互派间谍,潜入对方内部,伺机行动. 历尽艰险后,潜伏于 S 国的R 国间谍小C 终于摸清了S 国军用密码的编码规则: 1. S 国 ...

  9. MongoDB学习day10--数据库导入导出

    在 Mongodb 中我们使用 mongodump 命令来备份 MongoDB 数据. 该命令可以导出所有数据到指定目录中.mongodump 命令可以通过参数指定导出的数据量级转存的服务器. 使用m ...

  10. Mybatis批量插入与批量删除

    转自:http://www.cnblogs.com/liaojie970/p/5577018.html (一)批量插入 Mapper.xml: <?xml version="1.0&q ...