#!/bin/bash
privkey="$HOME/.ssh/id_rsa"
publickey="$HOME/.ssh/id_rsa.pub"
# Usage help
if [ $# -ne 1 ];then
echo "Usage:$0 [[email protected]]hostname"
exit 1
fi
# test private/publick key exist or not, and the privilege 600 or not
if [ -f "$privkey" -a -f "$publickey" ];then
privkey_priv=`stat -c %a $privkey`
if [ "$privkey_priv" -ne 600 ];then
echo "The privilege of private key ~/.ssh/id_rsa is not 600, exit now."
exit 1
fi
else
echo "private/public key is not exist, it will create it"
ssh-keygen -t rsa -f $privkey -N ‘‘
echo "keys created over, it located on $HOME/.ssh/"
fi
ssh-copy-id -o StrictHostKeyChecking=no $1
if [ $? -eq 0 ];then
echo -e "\e[1;32m publickey copy over \e[0m"
else
echo -e "\e[1;31mssh can‘t to the remote host\e[0m"
exit 1
fi
原文地址:https://blog.51cto.com/14012942/2435682