hadoop集群搭建的无密登陆(密钥)---ssh(ssh-keygen -t rsa;scp ../id_rsa.pub >> ./authorized_keys)

时间:2022-02-06 01:34:23

hadoop集群无密登陆示意图:

hadoop集群搭建的无密登陆(密钥)---ssh(ssh-keygen -t rsa;scp ../id_rsa.pub >> ./authorized_keys)


#生成ssh免登陆密钥

#在没生成密钥的时候远程登陆是需要输入密码的,而且每一次启动hdfs的节点都是需要键入密码,

#对应大量集群的hadoop这种问题是十分恶心的,基本上不可行。

无密码状态:

hadoop集群搭建的无密登陆(密钥)---ssh(ssh-keygen -t rsa;scp ../id_rsa.pub >> ./authorized_keys)

红色框框就是在远程登陆时需要输入密码!


下面我以两台机器

主机:master

还有一台:slave1

作为演示hadoop集群无密登陆,其他的操作完全一样!可以仿造一下操作。


#进入到我的home目录
 cd ~/.ssh

1:ssh-keygen -t rsa (四个回车rsa是默认的加密算法)执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)

hadoop集群搭建的无密登陆(密钥)---ssh(ssh-keygen -t rsa;scp ../id_rsa.pub >> ./authorized_keys)

红色圈起来的是密钥生成的默认路径,蓝色框框不用再键入密码,直接回车即可

查看结果:

hadoop集群搭建的无密登陆(密钥)---ssh(ssh-keygen -t rsa;scp ../id_rsa.pub >> ./authorized_keys)

2:这时需要在.ssh中新建一个authorized_keys的文件,用来存放生成的密钥以及集群的密钥

hadoop集群搭建的无密登陆(密钥)---ssh(ssh-keygen -t rsa;scp ../id_rsa.pub >> ./authorized_keys)

同时要修改该文件的权限为-rw --- ---

hadoop集群搭建的无密登陆(密钥)---ssh(ssh-keygen -t rsa;scp ../id_rsa.pub >> ./authorized_keys)

3:把刚刚生成的id_rsa.pub(公钥)追加到authorized_keys中:

可以通过cat查看里面的内容:

cat id_rsa.pub >> authorized_keys

hadoop集群搭建的无密登陆(密钥)---ssh(ssh-keygen -t rsa;scp ../id_rsa.pub >> ./authorized_keys)

4:到这里master的密钥已经生成并追加完成,接下来就是slave1

slave1与master相同的生成密钥:ssh-keygen -t rsa ,并新建一个authorized_keys文件将id_rsa.pub追加进去;

之后把生成的id_rsa.pub问价传给master(我这传到/home/hadoop/soft文件夹中)

向master中传入id_rsa.pub 利用

scp id_rsa.pub mater:/home/hadoop/soft

hadoop集群搭建的无密登陆(密钥)---ssh(ssh-keygen -t rsa;scp ../id_rsa.pub >> ./authorized_keys)

5:这时把传过来的id_rsa.pub同样追加到authorized_keys文件中:

cat ../soft/id_rsa.pub >> ./authorized_keys

hadoop集群搭建的无密登陆(密钥)---ssh(ssh-keygen -t rsa;scp ../id_rsa.pub >> ./authorized_keys)


6:这时无密远程登陆就完全弄好了

hadoop集群搭建的无密登陆(密钥)---ssh(ssh-keygen -t rsa;scp ../id_rsa.pub >> ./authorized_keys)

hadoop集群搭建的无密登陆(密钥)---ssh(ssh-keygen -t rsa;scp ../id_rsa.pub >> ./authorized_keys)

启动hdfs也完全不需要再输入密码了