开始玩hadoop2--把三台同网段的机器免登陆连起来(ubuntu)

来源:互联网 发布:html css js 教程 编辑:程序博客网 时间:2024/04/28 09:54

为了避免大家走弯路请先看“开始玩hadoop4”,我之前确实犯了不少错误,第四篇都总结了一遍!

为了避免大家走弯路请先看“开始玩hadoop4”,我之前确实犯了不少错误,第四篇都总结了一遍!

为了避免大家走弯路请先看“开始玩hadoop4”,我之前确实犯了不少错误,第四篇都总结了一遍!

重要的事要说三遍!!!


cat f1.txt f2.txt,同时显示f1.txt和f2.txt文件内容,注意文件名之间以空格分隔,而不是逗号。
cat -n f1.txt>f2.txt,对f1.txt文件中每一行加上行号后然后写入到f2.txt中,会覆盖原来的内容,文件不存在则创建它。
cat -n f1.txt>>f2.txt,对f1.txt文件中每一行加上行号后然后追加到f2.txt中去,不会覆盖原来的内容,文件不存在则创建它。


我用的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

试试这些



0 0