情景:
现有两台电脑bigdata111、bigdata112,bigdata111想免密码登录bigdata112
过程:
1、bigdata111生成公钥(用于加密,给别人)和私钥(用于解密,自己留),并将公钥发送给bigdata112
2、bigdata112收到后随机产生一个字符串,并用bigdata111的公钥加密,再将加密字符串发给bigdata111
3、bigdata111收到后用自己的私钥解密,并将解密字符串发给bigdata112
4、bigdata112收到后和自己的原始字符串进行对比,若相等,则允许bigdata111免密码登录自己
原理:
bigdata111远程登录bigdata112后,所有的指令都要通过网络进行传递,如果不对指令进行加密会有中间人攻击的危险
经过上述确认过程,bigdata112可确保bigdata111对自己的操作指令不会被中间人篡改
从而防止了远程通信中的信息泄露问题(SSH协议的核心)
操作:
生成公钥、私钥:
[root@bigdata111 ~]# ssh-keygen -t rsa
把自己的公钥拷贝给对方:
[root@bigdata111 ~]# ssh-copy-id -i .ssh/id_rsa.pub root@bigdata112
尝试直接登录:
[root@bigdata111 ~]# ssh bigdata112
成功后退出:
[root@bigdata112 ~]# exit
回到本地:
[root@bigdata111 ~]#