添加ssh公钥到远程主机授权文件

来源:互联网 发布:数据库中通配符! 编辑:程序博客网 时间:2024/06/02 06:05

添加ssh公钥到远程主机授权文件


#!/bin/bash


################################################################################
# This script add lab's id_pub_isa to remote lab's authorized_keys.
################################################################################




usage()
{
        echo "Usage:    `basename $0` -u username -p password -a ip_address"
        echo "Note:     During excution, you may need to input enter and lab password serveral times"
        exit 0
}


[ $# -lt 1 ] && usage


while getopts :u:p:a:h input
do
        case $input in
                u) RUSER=$OPTARG
                        ;;
                p) RPASSWD=$OPTARG
                        ;;
                a) RIP=$OPTARG
                        if expr match $RIP '[0-9].[0-9]*.[0-9]*.[0-9]*';then
                                RIP=$RIP
                        else
                                echo "[ERROR]: incorrect ip address."
                                exit -1
                        fi
                        ;;
                \?) usage
                        ;;
        esac
done


PUBRSA=~/.ssh/id_rsa.pub
RAUTHOR=\~/.ssh/authorized_keys


if [ -z $RUSER ] || [ -z $RIP ];then
        usage
else
        if [ -e $PUBRSA ]; then
                echo "Found id_rsa.pub and coping it to remote server ..."
        else
                echo "~/.ssh/id_rsa.pub not found and have to be generated!"
                echo "Please print "Enter" for three times:"
                ssh-keygen -t rsa
        fi


        PUBID=`cat $PUBRSA`
        ssh -o StrictHostKeyChecking=no $RUSER@$RIP "[ -f $RAUTHOR ] && cp $RAUTHOR ${RAUTHOR}.bak && echo $PUBID>>$RAUTHOR || echo $PUBID>>$RAUTHOR"
        GRAUTHOR=`ssh -o StrictHostKeyChecking=no $RUSER@$RIP "sort -u $RAUTHOR"`
        ssh -o StrictHostKeyChecking=no $RUSER@$RIP "echo $GRAUTHOR>$RAUTHOR"
fi


0 0
原创粉丝点击