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