情景:
現有兩台電腦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 ~]#