文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>SSH无密码验证代码操作

SSH无密码验证代码操作

时间:2010-07-29  来源:skybin090804

文件: ssh_nopasswd.zip
大小: 1KB
下载: 下载
SSH无密码登录步骤:生成私钥和公钥;把公钥copy到客户机;对目录的权限进行更改;步骤
有点多,所以,用代码代劳

运行格式为:./shellname.sh server/client username


#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin;LANG=zh_CN
export PATH LANG

#默认的用户
SSH_USER=sky


main () {
    if [[ $1 == server ]]
    then
        #建立相应目录
        mkdir -p /home/$SSH_USER/.ssh
        cd /home/$SSH_USER/.ssh
        #生成identify文件
        if [[ ! -f identity || $(fgrep -c "MIICWgIBAAKBgQCmtsxWG1vm51LACDXloJ3FMIm64RBKV/LcIPMI1h" identity) -eq 0 ]]
        then
            echo "\
-----BEGIN RSA PRIVATE KEY-----
MIICWgIBAAKBgQCmtsxWG1vm51LACDXloJ3FMIm64RBKV/LcIPMI1hmLReMQ1MeL
PcwIMWXYIgWQM2CDfV8Dn42Fr4ST7S2OMYmTkdonrPWyGOavTpHLChO5kJxbIEio
Il6yQqeR6MneIfQGvGyyCQX/5YpMx7+C7Sez7c3JNPtqZd/qXOdyfV2gkwIBIwKB
gCrejFCn8w99T8r6zAfY2BzDVp3E2E2hljiawibX9/Cc8T7XoQaMO8eXrHln1Yt6
7O6clMZq2z+iKWfd5ySQZTQo8vAvdw9yN5BrdEemkD0cAMsL0idT3gBDilXH5GP2
LqYrEWn0K9Y3qICloH3GYFPGE9yVi8dUxiQYYWOclITDAkEA0xY37mHFvnfjlt9d
QL5td/TeYMT2j13VG2f2pRplx+6gSxNGCD+92BLZH9z44batLKZaG7Ma00cLrJEi
z1RvDQJBAMovnwX9zLqzKE61VyUkXnLdSq39GKIvv67QTawa1yreNZD5Qbz/VlF2
YurkLyRsMr7aMbdFK/OWUlGGPhQ5Zh8CQQDNDkT2MxfdmQj49j1U1j50h3jwSk6Z
5h95tXNBTNfmyo0VuvOS/BeBcWU05UmKzrba6r3vBcJJlXkOCVUD658TAkAz/Z3r
mQjCS1OB9B25F/sHl/1CrsvR7wVnd2RuFYfJMdNCiTzKMweRSlPzQf1+ZPcbIioK
jiE+ov85iOtkSUYlAkA2nV5Br/6yA/KwuAkWvRU5XWjoe1SZDkQGHGuNMFeFg3cw
9j1yaCmDJVeT6eJ6Q9o1zUO1i1AO3S5W0ksoX/OF
-----END RSA PRIVATE KEY-----\
" >> identity
    #更改相应目录 的权限
            chmod 600 *
            chmod 700 /home/$SSH_USER/.ssh
            chown -R $SSH_USER:$SSH_USER /home/$SSH_USER
        fi
    fi
    if [[ $1 == client ]]
    then
        mkdir -p /home/$SSH_USER/.ssh
        cd /home/$SSH_USER/.ssh
        if [[ ! -f authorized_keys || $(fgrep -c "AAAAB3NzaC1yc2EAAAABIwAAAIEAprbMVhtb5udSwAg15aCdxTCJuuEQSlfy3CDzCNYZi0" authorized_keys) -eq 0 ]]
        then
            echo "\
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAprbMVhtb5udSwAg15aCdxTCJuuEQSlfy3CDzCNYZi0XjENTHiz3MCDFl2CIFkDNgg31fA5+Nha+Ek+0tjjGJk5HaJ6z1shjmr06RywoTuZCcWyBIqCJeskKnkejJ3iH0BrxssgkF/+WKTMe/gu0ns+3NyTT7amXf6lzncn1doJM= rsync@kidspub\
" >> authorized_keys
            chmod 600 *
            chmod 700 /home/$SSH_USER/.ssh
            chown -R $SSH_USER:$SSH_USER /home/$SSH_USER
        fi
        if [[ $(grep -c "\<$SERVER\>" /etc/hosts.allow) -eq 0 ]]
        then
            sed -i "s/sshd2:/sshd2:$SERVER,/" /etc/hosts.allow
        fi
    fi
}

if [[ "$1" != client && "$1" != server ]]
then
        echo "$0 [server|client]"
        exit
fi

if [[ $# -eq 2 ]]
then
    SSH_USER=$2
fi

if [[ $(grep -c "^$SSH_USER:" /etc/passwd) -eq 0 ]]
then
    useradd $SSH_USER
fi

ssh_version=$(ssh -V 2>&1)
ssh_version=${ssh_version:0:7}
if [[ $ssh_version == OpenSSH ]]
then
    main $1
fi

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载