前言
现在有4台虚拟机,node01~node04,做hdfs集群,要是每个机器都单独安装部署就台繁琐了,用ssh免密操作就能很方便,可以只在一台机器上操作把文件分发到其它机器上。
免密操作
生成.ssh 目录
在.ssh目录中,利用ssh-keygen命令生成公钥id_dsa.pub
本机免密、其它机器免密:
让哪个机器免密,就需要:
- 把id_dsa.pub文件放在.ssh文件夹中,给其他节点做免密最好给这个文件起个别名
- 把id_dsa.pub的内容放在/root/.ssh/authorized_keys这个文件中。b包含了a的公钥,a就可以免密登录b
执行ssh localhost 命令
node01上执行 ssh localhost 命令,会在root目录下生成.ssh文件夹
[root@node01 ~]# ssh localhost
The authenticity of host 'localhost (::1)' can't be established.
RSA key fingerprint is 5f:2a:7c:e3:20:24:79:04:b0:23:46:4d:78:0f:83:16.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (RSA) to the list of known hosts.
root@localhost's password:
Last login: Thu Jun 2 07:27:13 2022 from 192.168.223.1
[root@node01 ~]#
生成dsa公钥
ssh-keygen 命令生成公钥id_dsa.pub
[root@node01 ~]# cd .ssh
[root@node01 .ssh]# ssh-keygen -t dsa -P '' -f /root/.ssh/id_dsa
node01免密
[root@node01 .ssh]# cat id_dsa.pub >> ~/.ssh/authorized_keys
验证node01免密
执行 ssh localhost命令,不用输入密码就能登陆,说免密设置成功。
exit 命令退出
[root@node01 ~]# ssh localhost
Last login: Thu Jun 2 15:41:30 2022 from localhost
[root@node01 ~]# exit
logout
Connection to localhost closed.
[root@node01 ~]#
在node02 ~ node04上设置免密
在node02 ~ node04 三台机器上,分别执行 ssh localhost操作,确保root目录下有.ssh目录
把node01上的~/.ssh/id_dsa.pub分发到其它三个机器上,最好起个别名
然后再node01上把~/.ssh/authorized_keys文件分发到其它三台机器上
然后验证是否可以免密
给node02设置免密
[root@node01 .ssh]# scp ./id_dsa.pub node02:~/.ssh/node01.pub
[root@node01 .ssh]# scp ./authorized_keys node02:`pwd`
验证node02免密
[root@node01 .ssh]# ssh node02
Last login: Thu Jun 2 16:14:18 2022 from node02
[root@node02 ~]#
给其他节点设置免密
[root@node01 .ssh]# scp ./id_dsa.pub node03:~/.ssh/node01.pub
[root@node01 .ssh]# scp ./id_dsa.pub node03:~/.ssh/node01.pub
[root@node01 .ssh]# scp ./authorized_keys node03:`pwd`
[root@node01 .ssh]# scp ./authorized_keys node03:`pwd`
[root@node01 .ssh]# ssh node03
Last login: Thu Jun 2 16:22:21 2022 from localhost
[root@node03 ~]#
[root@node03 ~]# exit
logout
[root@node01 .ssh]# ssh node04
Last login: Thu Jun 2 16:22:39 2022 from localhost
[root@node04 ~]# exit
logout