大数据之免密登录小结

今天突然再次用到免密登录,那就再做一波总结:

一、免密登录最简洁配置方法
公钥私钥的免密登录:
以hadoop102、hadoop103、hadoop104 三个节点为例:

1.查看ssh文件
命令:ls -al
执行命令:
cd /home/一般用户名
cd .ssh
ssh-keygen -t rsa (rsa: 加密算法)

三次回车 , 生成公钥和私钥

目的:使其从102~104 互通,实现免密
会出现情况:若
有以下三个文件:
authorized -keys
id_rsa
id_rdapud
.ssh目录下

将authorized -keys 移除
rm authorized -keys
重新生成自己的:ssh-keygen -t rsa

或者不删除:
步骤如下:

#接着将公用钥匙写入到authorized_keys文件中,并修改这个文件的权限(重要,请不要忽略)
[hadoop@cdh-3 ~]$cat id_rsa.pub >> authorized_keys
[hadoop@cdh-3 ~]$chmod 600 authorized_keys #设置authorized_keys的访问权限

接着====================》
自己给自己破解:实现自己免密
命令:ssh-copy-id localhost
此时再次访问自己无需密码
执行命令:exit退出
返回到102

将自己破解的公钥私钥分发到103、104 则可实现三个节点互通,且免密
命令:xsync .ssh

  1. 生成密钥对
    ssh-keygen -t rsa 三次回车
  2. 发送公钥到本机
    ssh-copy-id localhost 输入一次密码
  3. 把/home/bigdata/.ssh 文件夹发送到集群所有服务器
    分别输入密码
    二、分发脚本实例
搞一个分发脚本
    cd ~
    vim xsync
    内容如下:
        #!/bin/bash
        #1 获取输入参数个数,如果没有参数,直接退出
        pcount=$#
        if ((pcount==0)); then
        echo no args;
        exit;
        fi

        #2 获取文件名称
        p1=$1
        fname=`basename $p1`
        echo fname=$fname

        #3 获取上级目录到绝对路径
        pdir=`cd -P $(dirname $p1); pwd`
        echo pdir=$pdir

        #4 获取当前用户名称
        user=`whoami`

        #5 循环
        for((host=103; host<105; host++)); do
                echo ------------------- hadoop$host --------------
                rsync -av $pdir/$fname $user@hadoop$host:$pdir
        done
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值