为了避免大家走弯路请先看“开始玩hadoop4”,我之前确实犯了不少错误,第四篇都总结了一遍!
为了避免大家走弯路请先看“开始玩hadoop4”,我之前确实犯了不少错误,第四篇都总结了一遍!
为了避免大家走弯路请先看“开始玩hadoop4”,我之前确实犯了不少错误,第四篇都总结了一遍!
重要的事要说三遍!!!
我用的ubuntu系统 一台桌面版(master),另外两台是在windows下用虚拟机模拟的两台服务器版(slave)
(master) luis h5 192.168.1.113
(slave) luis1 h1 192.168.1.115
(slave) luis2 h2 192.168.1.116
windows admin h3 192.168.1.102
windows lenovo h4 192.168.1.100
系统的版本是14.04 lts
vmware 记住网络适配器的方式要用桥接模式,勾选复制物理网络连接状态
这里用到了rsa非对称加密的方法
A通过rsa算法会产生一个公钥和一个私钥
把公钥放到对应希望控制的B机器的authorized的文件里
原理是公钥是可以公开的,但是只有用私钥才能解密。私钥保存在本机,位置不变。
这期间肯定有输入密码、确定是否连接的询问、还有问计算密钥的算法把公钥私钥结果放在哪个文件夹的询问
---对应上面的三个问题
这样解决:输对应密码---yes---回车
对应代码如下:
我说一个:比如希望用luis 免登陆--登陆---luis1,luis2
在luis这台机子上用下面的命令
ssh-keygen -t rsa -P ""
#这里是把公钥放到自己的的authorized文件里,可以自己访问自己免密码
cat .ssh/id_rsa.pub >>.ssh/authorized_keys
试一下 ssh localhost 看看能不能免密码登陆
#这个过程是把id_rsa.pub 这个公钥文件传到另外两台机子上 目录是home/luis1 和 /home/luis2
cd .ssh 目录下
scp ~/.ssh/id_rsa.pub luis1@192.168.1.115:/home/luis1
scp ~/.ssh/id_rsa.pub luis2@192.168.1.116:/home/luis2
然后分别在luis1和luis2机子上执行下面的命令
把公钥信息写入信任列表文件里
cat id_rsa.pub >> ~/.ssh/authorized_keys
最后别忘了改一下文件夹和文件的权限
chmod 700 .ssh
chmod 600 ~/.ssh/authorized_keys
然后就可以用luis 免密码 ssh 登陆luis1 和luis2 了,但是完美主义者的强迫症
让我把三台机子都设置成了相互都可以免密码ssh登陆
如果你要看authorized_keys的内容(肯定有人像我一样好奇)
nano 开文件 但是一堆字符串怎么看得懂……按一下键盘的end键,就会跑到行的末尾,
是不是就看到想要的免登陆的信任登陆的账号信息,按上下键就可以看多行的末尾了。
这里我还改了另外一个文件
三台机子的/etc/hosts 文件,我把ip 和 h* 的别名对应写到了这个文件。别名和信息在开头给出来了
我不知道有什么用,先干着
加上
#ubuntu server
192.168.1.115 h1
192.168.1.116 h2
#windows
192.168.1.102 h3
192.168.1.100 h4
#local
192.168.1.113 h5
这个文件不是一般用户权限可以更改的哦
别忘了sudo nano /etc/hosts
如果一直不能免密码登陆上去;肯定是哪里改动了文件夹权限
$chmod o-w ~/
$chmod 700 ~/.ssh
$chmod 600 ~/.ssh/authorized_keys
试试这些