ssh免密访问。
原理是让对方知道你的机器的公钥。即使用不对称加密进行通信。
ssh是加密的,我猜应该是对称加密。
不过要实现安全通信。
比如:B->A。(B向A发送命令),那么B需要拿到A的公钥。
然后比如B要操作A,那么B就拿着A的公钥加密,然后送到A手里,只有A有自己的私钥,也就是只有A才可以解开B发过来的数据。
关键是怎么拿到A的公钥?
B是通过scp
命令的。那么B就使用了ssh协议来进行。
ssh协议它设计的就得通过密码访问。要么知道密钥。所以,刚开始的时候,没有密钥,想要使用ssh就得用密码。
这时候会问你同不同意。输入yes时会生成一个know_hosts
文件。里面会存放一堆东西。每次一个信赖的主机都会在这个文件中自动添加。
推荐的做法是,master
节点先生成authorized_keys
(权限0600),
然后ssh每次都点击yes保存密钥。包括它自己的。
然后将这个authorized_keys
,know_hosts
文件复制到slave02
,slave03
.