Chinaunix首页 | 论坛 | 博客
  • 博客访问: 798304
  • 博文数量: 120
  • 博客积分: 7531
  • 博客等级: 少将
  • 技术积分: 1253
  • 用 户 组: 普通用户
  • 注册时间: 2005-10-11 12:18
文章分类

全部博文(120)

文章存档

2013年(1)

2012年(7)

2011年(1)

2010年(7)

2009年(15)

2008年(13)

2007年(22)

2006年(45)

2005年(9)

分类: LINUX

2009-11-30 14:32:15

一个很有用的脚本,记录一下,具体用法不介绍了

cat ssh-copy-id

#!/bin/sh

 
# Shell script to install your identity.pub on a remote machine

# Takes the remote machine name as an argument.

# Obviously, the remote machine must accept password authentication,

# or one of the other keys in your ssh-agent, for this to work.

 
ID_FILE="${HOME}/.ssh/identity.pub"
 
while getopts ':i:p:P:h' OPTION
do
    case $OPTION in
        i)
        if [ -n "$OPTARG" ]; then
            if expr "$OPTARG" : ".*.pub" > /dev/null ; then
                ID_FILE="$OPTARG"
            else
                ID_FILE="$OPTARG.pub"
            fi
        fi
        ;;
        P|p)
            PORT=$OPTARG;
        ;;
        h)
            echo "Usage: $0 [-i [identity_file]] [user@]machine" >&2
            exit 1
        ;;
    esac;
done;
 
shift $(($OPTIND - 1))
 
if [ $# -lt 1 ] && [ x$SSH_AUTH_SOCK != x ] ; then

   GET_ID="$GET_ID ssh-add -L"
fi
 
if [ -z "`eval $GET_ID`" ] && [ -r "${ID_FILE}" ] ; then
  GET_ID="cat ${ID_FILE}"
fi
 
if [ -z "`eval $GET_ID`" ]; then
  echo "$0: ERROR: No identities found" >&2
  exit 1
fi
 
if [ -z $PORT ]; then
    PORTOPTION=""
else
    PORTOPTION="-p $PORT "
fi;
 
{ eval "$GET_ID" ; } | ssh $PORTOPTION $1 "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys" || exit 1
 
cat <<EOF
Now try logging into the machine, with "ssh $PORTOPTION'$1'", and check in:
 
  .ssh/authorized_keys
 
to make sure we haven't added extra keys that you weren't expecting.
 
EOF


# ssh-copy-id -i ~/.ssh/id_rsa.pub "-p 22222 "
阅读(2501) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-12-02 09:43:12

这个脚本安装ssh会自带的。