文档章节

SSH(Secure Shell)协议

A__17
 A__17
发布于 2017/08/08 00:26
字数 847
阅读 5
收藏 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
博文 100
码字总数 117532
作品 0
朝阳
私信 提问
在chrome里操作你的ssh服务器

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

xu81.com
2012/05/02
1K
2
远程登录:telnet与ssh

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

nao
2014/03/23
0
0
优秀的 Android SSH 工具推荐

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

小卒过河
2011/10/24
24K
3
手把手教你用Navicat SSH安全连接MySQL

Secure Shell(缩写为SSH),由IETF的网络工作小组(Network Working Group)所制定;SSH为一项创建在应用层和传输层基础上的安全协议,为计算机上的Shell(壳层)提供安全的传输和使用环境。...

xmuwww
2017/01/17
0
0
一:Ubuntu下SSH安装及配置

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

牧羊人Berg
2016/04/29
46
0

没有更多内容

加载失败,请刷新页面

加载更多

对接比特币钱包的PHP开发包

BtcTool是一个基于第三方服务和离线裸交易实现的PHP比特币应用开发包,适合不希望部署本地 节点旳PHP开发者,开发包主要包含以下特性: 利用第三方服务获取指定地址的utxo集合 离线生成消费裸...

汇智网教程
8分钟前
0
0
【自用】 VHD to VHDX

VHDX: 在VHD 2TB 的基础上提供 64TB的容量。 支持逻辑扇区大小为 4KB,和每块的大小为 256MB,来优化虚拟磁盘性能。 比VHD提供更高的安全性、可靠性和性能。 convert-VHD –path d:\Hyper-v...

Tensor丨思悟
20分钟前
0
0
30 岁转行做Python开发晚吗?而且是零基础

最近有小伙伴问小编,30 岁转行做Python开发晚吗? 小编想说,其实无论男女,只要想学,有这个动力,就直接去行动。无论年龄,无论性别,只要你想一直勇往直前,那么想做的就去做吧~这里有一...

糖宝lsh
31分钟前
7
0
详解Spring中的Profile

前言 由于在项目中使用Maven打包部署的时候,经常由于配置参数过多(比如Nginx服务器的信息、ZooKeeper的信息、数据库连接、Redis服务器地址等),导致实际现网的配置参数与测试服务器参数混淆...

watermelon11
46分钟前
4
0
phper必知必会(二)

  1.说说你对进程,线程以及协程的理解      进程:是系统进行资源分配和调度的基本单位,是基本操作系统结构的基础。进程是程序基本执行的实体。进程与进程之间是独立的,拥有完全独立...

SEOwhywhy
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部