问题描述:主机A向主机B定时copy数据,每次输入密码就非常不方便,需要做到免密?

步骤:

主机A上的操作:

1、cd ~/.ssh/

2、ssh-keygen -t rsa  生成公钥和私钥

3、cat id_rsa.pub (直接打开copy容易出问题)

4、复制公钥内容

主机B上的操作:

5、cd ~/.ssh (如果没有该目录就创建一个)

6、vim authorized_keys

7、添加到此文件后面

就OK了。

结论:机制原理为白名单机制,A的信息要被B记录下来,直接放行,不需要验证

原理分析:

一、公钥密钥算法出现背景:

1976 年,美国学者 Dime 和 Henman 为解决信息公开传送和密钥管理问题,提出一种新的密钥交换协议,允许在不安全的媒体上的通讯双方交换信息,安全地达成一致的密钥,这就是“公开密钥系统”。相对于“对称加密算法”这种方法也叫做“非对称加密算法”。与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥( publickey)和私有密钥( privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

二、免密登录流程

怎么解除免密登录ssh hadoop中_加密算法

1.在A上生成公钥私钥。
2.将公钥拷贝给server B,要重命名成authorized_keys(从英文名就知道含义了)
3.Server A向Server B发送一个连接请求。
4.Server B得到Server A的信息后,在authorized_key中查找,如果有相应的用户名和IP,则随机生成一个字符串,并用Server A的公钥加密,发送给Server A。
5.Server A得到Server B发来的消息后,使用私钥进行解密,然后将解密后的字符串发送给Server B。Server B进行和生成的对比,如果一致,则允许免登录。
总之:A要免密码登录到B,B首先要拥有A的公钥,然后B要做一次加密验证。对于非对称加密,公钥加密的密文不能公钥解开,只能私钥解开。