服务器SSH Public Key认证指南

上传人:人*** 文档编号:493803874 上传时间:2023-12-24 格式:DOCX 页数:17 大小:574.75KB
返回 下载 相关 举报
服务器SSH Public Key认证指南_第1页
第1页 / 共17页
服务器SSH Public Key认证指南_第2页
第2页 / 共17页
服务器SSH Public Key认证指南_第3页
第3页 / 共17页
服务器SSH Public Key认证指南_第4页
第4页 / 共17页
服务器SSH Public Key认证指南_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《服务器SSH Public Key认证指南》由会员分享,可在线阅读,更多相关《服务器SSH Public Key认证指南(17页珍藏版)》请在金锄头文库上搜索。

1、網易 NetEase服务器SSH Public Key认证指南一.引言11. 编写目的12. 编写背景1二. Public Key 认证简介21. Public Key 认证基本原理22. Public Key 认证相对于其它 SSH 认证的优点2三. Public Key 认证的设置41. Key Pair 的生成41.1 在 Windows 客户端生成 Key Pair41.2 在 Unix/Linux 系统生成 KeyPair92. 部署 Key Pair 92.1 对已有帐号部署(或更换)KeyPair92.2 新添帐号并部署 Key Pair103. 使用Key Pair连接服务器1

2、14. 修改 Private Key 的保护口令(即 Passphrase) 12四. SSH 其它 1 3五. 参考文献 1 4引言1. 编写目的本文档是为了在公司推行采用密钥认证方式登录服务器而写的,详细介绍了实现服务器 Public Key认证的各个步骤,目的是让公司员工通过Public key认证更加方便、易用、 安全地管理服务器。2. 编写背景目前公司里服务器登录采用的认证方式在不同部门间各有不同,而不同的认证方式各有 优缺点。为了更安全地登录服务器,更好地规范管理服务器帐号,我们推荐 Public Key 认证方式登录服务器,本指南以 OpenSSH 为例, OpenSSH 是开源

3、软件,在我们公司服务 器上广泛应用。網易NET3合Ew ww 16 3 am_ _网管理部二.Public Key认证简介1. Public Key 认证基本原理Public Key(非对称,asymmetric)认证使用一对相关联的Key Pair (一个公 钥Public Key, 一个私钥Private Key)来代替传统的密码(或我们常说的口令, Password)。顾名思义,Public Key是用来公开的,可以将其放到SSH服务器自己的帐 号中,而 Private Key 只能由自己保管,用来证明自己身份。使用Public Key加密过的数据只有用与之相对应的Private Key

4、才能解密。这样 在认证的过程中,Public Key拥有者便可以通过Public Key加密一些东西发送给对应 的Private Key拥有者,如果在通信的双方都拥有对方的Public Key (自己的Private Key只由自己保管),那么就可以通过这对Key Pair来安全地交换信息,从而实现相互认 证。在使用中,我们把自己的Public Key放在通过安全渠道放到服务器上,Private Key 自己保管(用一个口令把 Private Key 加密后存放),而服务器的 Public Key 一般会 在第一次登录服务器的时候存放到本地客户端(严格地说来服务器的Public Key也应该

5、通过安全渠道放到本地客户端,以防止别人用他自己的Public Key来欺骗登录)。2. Public Key 认证相对于其它 SSH 认证的优点在众多SSH登录认证中,传统的单口令(Password)认证用得比较多,所以在这里 我们主要对比一下SSH认证中的口令(Password)认证和Public Key认证的区别。a. 基于主机IP(rhost)的认证:对于某个主机(IP)信任并让之登录,这种认证 容易受到 IP 欺骗攻击。b. Kerberos 认证:一个大型的基于域的认证,这种认证安全性高,但是太大、太复 杂不方便部署。c. PAM认证:类似于传统的密码认证,是绝大多数Unix/Lin

6、ux系统自带的一个认 证和记帐的模块,它的功能比较复杂,配置起来比较麻烦。而且,容易由于配置失误而引起 安全问题。d. 传统的Unix/Linux 口令(或密码Password)认证:在客户端直接输入帐号密 码,然后让SSH加密传输到服务器端验证。这种认证方式有着如下明显的缺点:1)为了确保密码安全,密码必须很长很复杂,但是这样的密码很难记忆;2)对于自己所拥有的每个帐号,为了安全,不同的帐号都要设置不同的密码,管理起 来很不方便;3)对于默认帐号,默认密码,例如装机时用的帐号,如果一时疏忽没有改密码,被 其它不怀好意的人扫描到帐号和密码,可能会造成安全漏洞;4)如果远程主机已经被攻击,即使使

7、用 SSH 安全通道进行保护,在网络上发送的密 码在到达远程主机时也可能被截获;5)对于每个帐号的修改都要人工登录(为了安全,不能把Password放到脚本里), 随着服务器数量增多,这项工作会变得十分烦琐。幸运的是,SSH提供的Public Key认证解决了这些问题:1)Public Key放在服务器上,Private Key通过用口令(Passphrase自己设定 的任意口令,而非传统的Password)加密后放在自己客户端上,只有解密后的Private Key 才能登录服务器,这样便提供了两层保护,比 Password 安全,因为只有加密过的 Private Key文件和Private

8、Key的解密口令(Passphrase)同时被其它人获得才会 丢失帐号。2)Key认证避免了简单密码和默认帐号被扫描到的危险,一切的安全都放在客户端的 Private Key 保密上,充分体现了帐号拥有者的责任感。3)SSH Key认证的设置和登录非常简单,只需要自己安全地生成一对Key Pair, 便可以登录任意数量的服务器(当然,首先必须要管理员给你的帐号安装你的 Public Key),而且SSH协议里的Private Key代理(Agent)功能能让Private Key缓存在 内存中,每次打开客户端只需输入一次解密Private Key的口令(Passphrase),便能 使用Pri

9、vate Key代理自动登录这个Private Key控制的所有服务器。4)帐号的管理也十分安全和方便,因为认证过程中不需要把Password写在脚本中, 而是让客户端缓存的 Private Key 自动去登录服务器,这样就更安全方便地实现批处理(例如在客户端同时连接并更新所有控制的服务器)。由于 Key Pair 的不对称的特点,使用 Key 认证时需要注意的地方:解密 Private Key的口令(Passphrase) 和 Private Key文件必须妥善保管,如果丢失其 一则会引起安全隐患,应及时修改加密Private Key的Passphrase (在本地就可以修 改,不必修改服务

10、器上的Public Key),如果两者都泄露了,则帐号就不安全了,应该及 时更换新的Key Pair。某些客户端(如SecureCRT)默认会把解密后的Private Key 放缓存在内存中,以后登录时若需要用要这个Private Key认证,SecureCRT会自动认 证,不用再手工输入口令,所以 当有 SSH 登录的时候,在离开自己的电脑前必须锁定 Windows,防止别人接触你的电脑key的保护密码passphrase到底是什么? private key实际上 是代表你个人身份的关键信息,任何情况下不应该交给他人,包括你的上司,系统管理员等。 理论上来说,如果你的个人电脑足够安全,则 p

11、rivate key 只需要放在自己电脑上,永 远不传送给他人即可保证安全。为了进一步保护private key,我们很自然的会要求对 private key 进行加密保护, passphrase 就是打开这个保护的钥匙。这个钥匙只对应 于个别的 private key 文件,跟其他任何系统无关。只需要有必要的工具,你完全可以 在自己的电脑上随时任意修改它。但要注意,如果同一个 private key 文件,用几个不 同的文件存储(比如为了备份),而你只修改了其中一个文件的passphrase,那么旧的 passphrase依然可以解开用旧的passphrase力口密的private key文

12、件。private key的保护密码为什么叫 passphrase而不是password?private key其实代表了你个人在无数系统的身份,它不像password, password只是 你在某个系统的身份代表,泄漏了一个系统的密码并不代表你泄漏了你在所有系统的身份安 全(前提是你在不同的系统使用了不同的password)。由于实际应用中,private key 对应的public key会部署在很多很多系统上,因此,泄漏private key是极其危险的。 为了保护private key,有些系统(比如许多网上银行系统:招行、工行的网上银行系统) 都提供一个USB硬件用以存储你的pri

13、vate key,而这个硬件刻意做到private key 无法拷贝出来,只能参与计算,这就避免了用户因为中木马病毒而泄漏private key的 风险。这样的做法实际上用额外的成本,增加了一层物理上的保护(因为要盗取private key首先要物理上得到这个硬件)。即使如此,要访问在这个硬件里的private key还是 需要密码的。这些系统里甚至要求 private key 定期(比如一年)要过期,强制你换一 个新的 private key。正是因为 private key 的保护密码如此重要,要求大家用一个有足够强度的密码来 保护它。这个保护密码除了应当包含足够大的字符范围(特殊字符,数

14、字,大小写字母), 还应当有足够的长度。为了强调这个区别,习惯上都用passphrase代替password这个 说法,因为phrase的意思“短语”而word是“单词”,前者比后者长。PGP手册里有专门的章节讲解如何才是足够强的passphrase。希望大家参考一下。 以下时PGP输入passphrase,由此可见人家允许和期待的passphrase有多长:三 Public Key认证的设置1. Key Pair 的生成不同的客户端生成的 Key Pair 文件格式可能不一样,但是内容实质是一样的,只需 通过微量修改便可部署。基于安全的理由,请在你个人的,可靠安全的电脑上生成Key Pair

15、。1.1 在 Windows 客户端生成 Key Pair在这主要介绍一下SecureCRT中OpenSSH连接的使用。(以Version5.0为准介绍)第一步 生成 Key Pair运行 SecureCRT, 选择菜单栏 Tools-Create Public Key,点击下一步”,选 择Key Pair的算法类型为“RSA”(也可以使用“DSA”,但推荐使用RSA)網易 NetEasew w w -1 6 3 吐 om输入加密Key的保护口令(Passphrase):请牢记此Passphrase,如果遗忘,只能重新生成Key Pair。选择 Key 的长度(默认的 1024 已经基本可以满足,可以根据需要增减长度,不过请 注意长度越短越低保障,安全强度越低):ITlKy Genration TizardA 1 ower niuriber provides less eeciirity, t:ikes less time to generate arLd. authenticMtEE; faster.A hi gher rLmb er pr ovi de s 孕已:er s e cm- i ty t:也已 s more time to genera.te_, and autheiiti:ates more tl Awl T7 1 flPd. i t + li ci i- u h

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号