hadoop中如何设置ssh无密登录并远程连接其它虚拟机

hadoop中每次开启节点要输入5次密码,这是一件很麻烦的事,下面就来设置无密开启节点。
首先先修改下主机名,方便记忆和使用,取自己好记的名字xxx
hostnamectl set hostname xxx
添加主机地址
vi /etc/hosts
把本机的IP和修改后的主机名添加到下一行
192.168.xx.xxx xxx
接下来就是生成公私钥
ssh-keygen -t rsa -P ’ ’
# -t 指定rsa 加密算法
# -P 指定密码,两个单引号之间为空,表示次数为空
这样就生成公私钥了,
并且会默认保存在/root/下生成的.ssh目录,在.ssh目录下生成id_rsa和id_rsa.pub 公私钥
可以进入里面去查看;
cd ~/.ssh/
hadoop中如何设置ssh无密登录并远程连接其它虚拟机_第1张图片
把公钥文件读出来并生成新的文件authorized_keys
cat id_rsa.pub >> authorized_keys
给新的文件设置读写权限
chmod 600 authorized_keys
开始登录
ssh xxx
第一次登录会需要密码
登录成功后exit退出,在重新登录就不需要密码了
然后退出去登录hadoop
start-all.sh
也是一样不用需要输入密码就能开启了

如果想免密登录其它虚拟机也很简单

首先要把另一台机的IP和修改后的主机名也添加到hosts
vi /etc/hosts
把公钥复制给其它虚拟机 ,就可以免密登录其它虚拟机
在另一台虚拟机创建一个.ssh目录,把这台机生成的公钥复制到.ssh目录下就可以了
mkdir .ssh
hadoop中如何设置ssh无密登录并远程连接其它虚拟机_第2张图片
scp id_rsa.pub root@另一台主机名:~/.ssh scp 远程拷贝
然后同样 把公钥文件读出来并生成新的文件authorized_keys
cat id_rsa.pub >> authorized_keys
给新的文件设置读写权限
chmod 600 authorized_keys
接下来就开始登录到另一台主机
ssh xx

当第一次链接远程主机时,会提示你当前主机的”公钥指纹”,询问你是否继续,如果选择继续后就可以输入密码进行登录了,当远程的主 机接受以后,该台服务器的公钥就会保存到~/.ssh/known_hosts文件中。这时就可以远程登录另一台主机了,但是另一台主机想登录你这台 主机也是一样,要生成公私钥,然后把公钥复制给这台主机。

你可能感兴趣的:(大数据)