time 
设为首页】【收藏本站
当前位置: 主页 > Unix/Linux > Linux命令 > 在Linux CLI使用ssh-keygen生成RSA密钥

在Linux CLI使用ssh-keygen生成RSA密钥

时间:2014-09-24 15:40 点击:3252次 字体:[ ]




  RSA 是一种公钥加密算法,在 1977 年由麻省理工学院的 Ron Rivest, Adi Shamir, Leonard Adleman 三人一起提出,因此该算法命名以三人姓氏首字母组合而成。

 

  SSH 是 Secure Shell 缩写,是建立在应用层和传输层基础上的安全协议,为计算机上运行的 Shell 提供安全的传输和使用环境。

 

  传统的 rsh, FTP, POP 和 Telnet 网络协议因为传输时采用明文,很容易受到中间人方式攻击。为了防止远程传输信息出现泄露,SSH 协议支持对传输的数据进行加密,因此它还能防止 DNS 和 IP 欺骗。另外采取 SSH 协议传输的数据可以进行压缩,所以可以加快数据传输速度。最初 SSH 协议由芬兰的 Tatu Ylönen 在 1995 年设计开发,目前属于 SSH Communications Security 拥有,由于版权原因,1999 年 10 月开源软件 OpenSSH 被开发出来,它已成为事实上的 SSH 协议标准实现(SSH Communications Security 提供的 SSH 软件使用不同于 OpenSSH 的私钥格式),也是目前 Linux 标准配置。

 

基本框架

 

  SSH 协议主要分成三个协议:

  1. 传输层协议(The Transport Layer Protocol):传输层协议提供服务器认证,数据机密性,信息完整性等支持。

  2. 用户认证协议(The User Authentication Protocol):用户认证协议为服务器提供客户端的身份鉴别。

  3. 连接协议(The Connection Protocol):连接协议将加密的信息隧道划分成若干逻辑通道,提供给更高层应用协议使用。

 

验证方式

 

  SSH 提供两种安全验证方式:

  1. 基于口令:客户端使用账号和口令登录服务器,所有传输数据都会被加密。但可能存在伪造服务器冒充真正的服务器与客户端进行交互,不能避免中间人攻击。

  2. 基于密钥:使用一对密钥(私钥 + 公钥),将公钥放置到服务器注册。当用户从客户端登录服务器时,服务器会接到使用密钥(即注册在服务器的公钥)进行安全验证请求,服务器首先比对从客户端发送过来的公钥与在己方注册的公钥是否一致,如果一致,服务器会使用该公钥加密数据向客户端发起 "挑战"[1],从而避免中间人攻击。

 

OpenSSH 提供的工具

 

  OpenSSH 提供了以下几个工具:

  1. ssh:实现 SSH 协议,用以建立安全连接,它替代了较早的 rlogin 和 Telnet。

  2. scp, sftp:利用 SSH 协议远程传输文件,它替代了较早的 rcp。

  3. sshd:SSH 服务器守护进程,运行在服务器端。

  4. ssh-keygen:用以生成 RSA 或 DSA 密钥对。

  5. ssh-agent, ssh-add:管理密钥的工具。

  6. ssh-keyscan:扫描网络中的主机,记录找到的公钥。



本文地址 : http://www.fengfly.com/plus/view-215330-1.html
标签: Linux 密钥 RSA ssh-keygen CLI
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码: