文档章节

SSH(Secure Shell)协议

A__17
 A__17
发布于 2017/08/08 00:26
字数 847
阅读 4
收藏 0
点赞 0
评论 0

概念:SSH采用的是”非对称密钥系统”,即公钥私钥加密系统,其安全验证又分为两种级别。

1)基于口令的安全验证:使用用户名密码进行联机登录,其整个过程大致如下:

	1)用户发起连接请求。

	2)远程主机收到用户的登录请求,把自己的公钥发给用户。

	3)用户接收远程主机的公钥,然后使用远程主机的公钥加密登录密码,紧接着将加密后的登录密码连同自己的公钥一并发送给远程主机。

	4)远程主机接收客户端的公钥及加密后的登录密码,用自己的私钥解密收到的登录密码,如果密码正确则允许登录,到此为止双方彼此拥有了对方的公钥,开始双向加密解密。

注意:
	1)当网络中有另一台冒牌服务器B冒充远程主机时,用户的连接请求被服务器B拦截,服务器B将自己的公钥发送给客户端,客户端就会将密码加密后发送给冒牌服务器,冒牌服务器就可以拿自己的私钥获取到密码,这时客户端的密码就被盗取了。
	2)当第一次连接远程主机时,在第3步中,会提示您确认当前远程主机的”公钥指纹”,以保证远程主机是正版的远程主机,如果选择继续后就可以输入密码进行登录了,当远程的主机接受以后,该台服务器的公钥就会保存到 ~/.ssh/known_hosts文件中。


2)基于密匙的安全验证:免密码登录
	1)在当前用户A的家目录下为自己创建一对密匙,并把公匙放在需要登录的服务器上。
	说明:就是将用户的公钥放到服务器上你要登录的用户的家目录下的.ssh/authorized_keys文件中(即:~/.ssh/authorized_keys)
	
	2)用户A发起连接请求:向服务器请求使用密匙进行安全验证。
	
	3)服务器收到请求之后,会在(服务器上)你要登录的用户的家目录下寻找用户A的公匙,然后与用户A发送过来的公匙进行比较。
	
	4)如果两个公匙一致,服务器就用该公匙加密“质询”并把它发送给用户A。
	说明:“质询”:随机生成的一个字符串(用来代替密码)。
	
	5)用户A收到“质询”之后用自己的私匙解密再把它发送给服务器。
	
	6)服务器收到用户A解密后的“质询”,与之前随机生成的“质询”比较,如果一致,则允许登录。
	
注意:与第一种级别相比,第二种级别不需要在网络上传送口令。

使用场景:

1)rsync自动备份时免密码登录
2)集群环境中主机间的互相通信

相关配置项:

SSHD服务的配置文件位于/etc/ssh/sshd_config
	PubkeyAuthentication	# 是否允许使用密钥验证方式登录
	AuthorizedKeysFile		# 允许登录主机的公钥存放文件,默认为用户家目录下的 .ssh/authorized_keys

权限问题:

.ssh文件夹:chmod 700 
.sshauthorized_keys文件:chmod 644 
.ssh/authorized_keys

© 著作权归作者所有

共有 人打赏支持
A__17
粉丝 2
博文 91
码字总数 102581
作品 0
朝阳
在chrome里操作你的ssh服务器

Secure Shell : Chrome 原生 SSH 客户端 # 作者: riku / 本文采用CC BY-NC-SA 2.5协议授权,转载请注明本文链接。 Secure Shell 是专门为 Chrome OS 打造的原生 SSH 客户端程序,以插件的形式...

xu81.com ⋅ 2012/05/02 ⋅ 2

远程登录:telnet与ssh

1,什么是远程登录 远程登录是用户使用ssh,telnet等命令,登录到一台远程服务器进行操作,使自己的计算机暂时成为远程主机的一个仿真终端的过程。 登录系统后所有的操作都是对远程主机的操作...

nao ⋅ 2014/03/23 ⋅ 0

优秀的 Android SSH 工具推荐

Secure Shell(SSH)是工作在应用层和传输层之上的网络安全协议,利用128位公钥加密接收和发送的信息。SSH能保证两个主机之间的通信不被中间人拦截。作为一种安全保护协议,SSH常被用于安全数据...

小卒过河 ⋅ 2011/10/24 ⋅ 3

在pcDuino上安装SSH

什么是SSH? SSH 为 Secure Shell 的缩写,SSH为建立在应用层和传输层基础上的安全协议。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程...

pc朵拉 ⋅ 2013/07/03 ⋅ 0

OpenSSH 7.4 发布,不再支持 SSH-1 协议

OpenSSH 7.4 发布了。OpenSSH(Open Secure Shell)是使用SSH透过计算机网络加密通讯的实现。它是取代由SSH Communications Security所提供的商用版本的开放源代码方案。 距离 OpenSSH 7.3 ...

达尔文 ⋅ 2016/12/20 ⋅ 3

一:Ubuntu下SSH安装及配置

一:SSH(安全外壳协议)的简单介绍: SSH 为 Secure Shell 的缩写,SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用...

牧羊人Berg ⋅ 2016/04/29 ⋅ 0

Huawei设备Stelnet

1.Telnet是基于TCP协议的应用,telnet是基于internet的远程登录,要求用来承载的传输层是可靠的,面向连接的协议类型,所以默认使用的是TCP的23端口号。telnet是一种明文传输协议,数据在传输...

kekeAlice ⋅ 2016/09/29 ⋅ 0

ubuntu下允许设置root权限,ssh远程登录

SSH服务器,可以通过SSH协议来访问远程服务器,代替telnet和ftp。但是ubuntu默认是不启用root用户也不允许root远程登录的。所以需要先启用root用户 启用root用户:sudo passwd root //修改密...

zhengyijie ⋅ 2016/03/25 ⋅ 2

ssh,openssh以及ssl,openssl的区别和联系

ssl是通讯链路的附加层。可以包含很多协议。https, ftps, ..... ssh只是加密的shell,最初是用来替代telnet的。通过port forward,也可以让其他协议通过ssh的隧道而起到加密的效果。 SSL是一...

powerlife ⋅ 2016/09/20 ⋅ 0

ubuntu下允许root用户ssh远程登录

SSH服务器,可以通过SSH协议来访问远程服务器,代替telnet和ftp。但是ubuntu默认是不启用root用户也不允许root远程登录的。所以需要先启用root用户 启用root用户:sudo passwd root //修改密...

litterMo ⋅ 2016/12/05 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

行政区划代码转为字典形式

原数据为: http://www.mca.gov.cn/article/sj/xzqh/2018/201804-12/201804-06041553.html 手动替换了一下格式,并使用下面的代码处理. # 输入格式s = """110000:北京市110101:东城区1101...

漫步海边小路 ⋅ 8分钟前 ⋅ 0

android apk 签名

创建key,需要用到keytool.exe (位于C:\Program Files\Java\jdk1.6.0_10\bin目录下),使用产生的key对apk签名用到的是jarsigner.exe (位于C:\Program Files\Java\jdk1.6.0_10\bin目录下),把...

国仔饼 ⋅ 16分钟前 ⋅ 0

springcloud+jps+mybatis多数据库配置

多数据库配置 配置我们目录结构设置: config ---datasource ----jpa ----mybatis ----redis Datasource中是数据的相关配置 Jap中是springDatajpa的相关配置 Mybatis中是mybatis的相关配置 ...

大-智-若-愚 ⋅ 24分钟前 ⋅ 0

Spring mvc HandlerMapping 实现机制

概述 当DispatcherServlet接受到客户端的请求后,SpringMVC 通过 HandlerMapping 找到请求的Controller。 HandlerMapping 在这里起到路由的作用,负责找到请求的Controller。 Spring MVC 默认...

轨迹_ ⋅ 27分钟前 ⋅ 0

JavaScript零基础入门——(十)JavaScript的DOM基础

JavaScript零基础入门——(十)JavaScript的DOM基础 欢迎大家回到我们的JavaScript零基础入门,上一节课,我们了解了JavaScript中的函数,这一节课,我们来了解一下JavaScript的DOM。 第一节...

JandenMa ⋅ 今天 ⋅ 0

Weex起步

本教程假设你已经在你的本地环境安装了node 其实weex起步教程在 https://github.com/lilugirl/incubator-weex 项目说明文件中都已经有了,但为了有些同学看到英文秒变文盲,所以这里我重新写...

lilugirl ⋅ 今天 ⋅ 0

Jenkins实践1 之安装

1 下载 http://mirrors.jenkins.io/war/latest/jenkins.war 2 启动 java -jar jenkins.war 前提:安装jdk并配置环境变量 启动结果节选: ************************************************......

晨猫 ⋅ 今天 ⋅ 0

组合数学 1-2000 中,能被6或10整除的数的个数

1--2000 中,能被6或10整除的数的个数 利用集合的性质 能被6整除的个数 2000/6 = 333 能被10整除的个数 2000/10 = 200 能被6和10整除的个数 2000/30 = 66 能被6或10整除的个数 333+200-66 =...

阿豪boy ⋅ 今天 ⋅ 0

一篇文章学懂Shell脚本

Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。 Shell可以直接使用在win/Unix/Linux上面,并且可以调用...

Jake_xun ⋅ 今天 ⋅ 0

大数据工程师需要精通算法吗,要达到一个什么程度呢?

机器学习是人工智能的一个重要分支,而机器学习下最重要的就是算法,本文讲述归纳了入门级的几个机器学习算法,加大数据学习群:716581014一起加入AI技术大本营。 1、监督学习算法 这个算法由...

董黎明 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部