#!/bin/sh ############################################################################## # Copyright (c) 2016 ZTE Coreporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Apache License, Version 2.0 # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## logfile=/var/log/trustme.log function print_log { local promt="$1" echo -e "$promt" echo -e "`date -d today +"%Y-%m-%d %H:%M:%S"` $promt" >> $logfile } ip=$1 passwd=$2 if [ -z $passwd ]; then print_log "Usage: `basename $0` ipaddr passwd" exit 1 fi rpm -qi sshpass >/dev/null if [ $? != 0 ]; then print_log "Please install sshpass first" exit 1 fi #ping other host unreachable=`ping $ip -c 1 -W 3 | grep -c "100% packet loss"` if [ $unreachable -eq 1 ]; then print_log "host $ip is unreachable" exit 1 fi #generate ssh pubkey if [ ! -e ~/.ssh/id_dsa.pub ]; then print_log "generating ssh public key ..." ssh-keygen -t dsa -f /root/.ssh/id_dsa -N "" <> ~/.ssh/authorized_keys" if [ $? != 0 ]; then print_log "ssh $ip to add public key for authorized_keys failed" exit 1 fi print_log "rm tmp file $ip:$tmpfile" sshpass -p $passwd ssh -o StrictHostKeyChecking=no $ip "rm $tmpfile" if [ $? != 0 ]; then print_log "ssh $ip to delete tmp file failed" exit 1 fi print_log "trustme ok!"