SSH免密登录-集群

缺点

  • 每增加一台机器都要多输入一遍密码
  • 未实现全自动化

准备工作

  • ubuntu 15桌面版

  • 安装openssh-server

  • 安装sshpass

操做步骤

安装master主机免密登录

  • 只在master主要上执行一遍
    rm -rf ~/.ssh 
    ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
    cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

安装除master主机外的其它所有集群节点(依赖上一步操做)

  • 只在master主要上执行一遍
for i in $( seq 1 2 )
do
    echo 控制台输出第台机器进行ssh免客登录操做:s$i

    export TEMP_S=s$i
    export TEMP_REMOTE_DIR=~/temp/id_dsa_dir
    export TEMP_PASSWORD=hadoop

    #安装远程本机ssh免密登录远程本机
    ssh  $TEMP_S rm -rf ~/.ssh
    sshpass -p $TEMP_PASSWORD ssh  $TEMP_S "ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa"
    sshpass -p $TEMP_PASSWORD ssh  $TEMP_S  "cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys"


    #安装本机ssh免密登录远程机
    sshpass -p $TEMP_PASSWORD ssh  $TEMP_S rm -rf $TEMP_REMOTE_DIR
    sshpass -p $TEMP_PASSWORD ssh  $TEMP_S "mkdir -p $TEMP_REMOTE_DIR"
    sshpass -p $TEMP_PASSWORD scp -r ~/.ssh/id_dsa.pub   $TEMP_S:$TEMP_REMOTE_DIR
    sshpass -p $TEMP_PASSWORD ssh  $TEMP_S "cat ${TEMP_REMOTE_DIR}/id_dsa.pub >> ~/.ssh/authorized_keys"
done