Hadoop框架起步之图解SSH、免密登录原理和实现方(3)

4.基于公钥的认证

4.1 SSH免密登录的原理

免去密码进行登录,不仅使得登录信息不会遭到泄露,而且也简化、方便了系统之间登录的操作,提高了工作的效率,工作原理见下图所示。

图4-1 免密登录的原理

4.2 SSH免密登录的实现(openSSH)

第一步:安装SSH,命令如下。

 yum install –y openssh-clients openssh-server

这里解释一下,一台机器既可以是客户机也可以是服务器,并且这两个角色是可以共存的。openssh-clients的功能类似于XShell,可以作为一个客户端连接上openssh-server。openssh-server的功能主要是作为一个服务(守护进程)运行在后台,如果这个服务开启了,我们就可以用一些远程连接工具来连接centos。由于我是用了Centos6.4的mimimal版本,该版本已经安装了openssh-server,但是却没有安装openssh-clients,所以我只需要安装openssh-clients即可,而具体安装情况请根据自己的系统决定。

第二步:生成密钥,命令如下。

 ssh-keygen –t rsa –P ‘' –f –/.ssh/id_rsa

ssh-keygen是用来生产密钥的工具。-t:指定生成密钥的类型(rsa、dsa、ecdsa等);-P:指定passphrase,用于确保私钥的安全;-f:指定存放密钥的文件(公钥和私钥默认放在相同目录下面,区别是,公钥的文件名有后缀.pub)

第三步:创建用于保存公钥的文件authorized_keys,并且把本机公钥添加到此文件,命令如下。

cat ~/.ssh/id_rsa.pub >> ~./ssh/authorized_keys

第四步:对authorized_keys文件进行授权操作,命令如下。

 chmod 0600 ~/.ssh/authorized_keys

由于每个人使用系统的不同,文件默认的授权也是不相同的,如果不确定的话,可以执行上诉命令,对文件进行授权。

第五步:登录,命令如下。

ssh host

5. 总结和感言

emmm,SSH免密登录的使用还是挺常见的,也挺简单的。我觉得吧,凡事不能知其然而不知其所以然,这是我写这篇博客的目的。同时我也希望读者能够通过这篇博客对SSH以及免密登录能有更好的了解。

这篇博客由于工作的原因,前前后后写了个把星期,真的很不容易,虽然文中的原理很多是通过学习大佬的文章才会的,但是这篇博客中的每个字我都可以负责任的说是我自己一个一个敲的,所有的图都是我自己用processOn画的,如果你有什么问题,可以在博客下留言,我有时间会回复的。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/1685.html