hadoop之ssh命令、scp命令与建立多台机器互相信任关系
一、ssh命令:
(1)查看命令帮助:
(2)[[email protected]]hostname [command]
如果不添加[email protected]的话,表示ssh远程连接hostname所在的机器是以当前ssh这个命令所在的当前用户来连接
(3)指定端口号:ssh [email protected] -p xxx
(4)打印一个日期:ssh [email protected] date
[[email protected] ~]# ssh [email protected] date
[email protected]’s password:
Thu Oct 4 17:40:04 CST 2018
二、scp命令
先看看scp怎么用:
[[[email protected]]host1:]file1 … [[[email protected]]host2:]file2
[[email protected] ~]$ scp test.sh [email protected]:/tmp/
查看root用户是有这个文件的
习惯于用户行为:将当前的Linux系统文件 scp到远程的机器上,即
dudu–>hadoop001
[[email protected] ~]$ scp test.sh [email protected]:/tmp/
A将文件传输给B,就先登陆A机器,然后将文件用scp传输到B机器
dudu<–hadoop001
[[email protected] ~]$ scp test.sh [email protected]:/tmp/
但是 hadoop001属于生产机器,一般没有权限登陆
那怎么办?
[[email protected] ~]$ scp [email protected]:/tmp/test.sh /tmp/testa.log
先将hadoop001机器上的文件load过来
三、ssh多台机器互相信任关系
打开两个不同的机器
ssh是当前用户的家目录的隐藏文件。
1、两台机器同时删掉.ssh文件:rm -rf .ssh
2、各自生成**:ssh-******
3、各自进入.ssh文件夹(cd .ssh),会生成私钥和公钥,而建立信任关系是通过公钥id_rsa.pub这个文件来作用的
4、 选择第一台机器为主节点,输入命令追加:cat id_rs.pub >> authorized_keys,回车
同一机器输入命令重命名:scp [email protected]:/root/.ssh/id_rsa.pub id_rsa.pub001
然后将这个重新命名的文件并追加到authorized_keys文件中:cat id_rsa.pub001 >> authorized_keys
将authorized_keys文件的权限改为600:chmod 600 authorized_keys
然后查看authorized_keys文件,里面显示了两台机器的验证关系
5、将机器1的authorized_keys文件scp到机器2上:scp authorized_keys [email protected]:/root/.ssh/
6、每台机器都运行命令:ssh 机器名称 date
测试是否建立信任关系
如果去ping另一台机器的话是ping不通的,这个时候我们需要在/etc/hosts文件里面配置多台机器的ip和name
坑:
scp 传输 pub文件
/etc/hosts文件里面配置多台机器的ip和name
没有图为证,解释很苍白?
-----------------------------------------------------------未完待续---------------------------------------------