SSH利用密匙免密码登录脚本

#!/bin/bash
#Shell name: login_ssh.sh
#
#program:
# use key-gen to login other pc without password
#Author:yannis
#Email: [email protected]
#History:
#2014年10月29日16:49:51
#If you have any opinion please contact me
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:.
export PATH
read -p "请输入SSH所用账号(用户名):" user
read -p "请输入远程服务器的IP地址:" ip
#确定账号不为root
if [ $user = "root" ]
then
echo "Don't using root to login others PC,It's dangers!!!"
exit 77
fi
#install openssh
soft=$(rpm -qa |grep openssh | wc -l)
#安装包数量小于3,yum安装openssh
if [ $soft -lt 3 ]
then
 yum install *openssh* -y &> /dev/null
fi
#创建RSA公钥
ssh-keygen -t rsa
echo "请输入远程服务器密码,用于检查远程服务器是否存在 [~/.ssh/authorized_keys]:"
exist=$(ssh -p1918 "$user"@"$ip" 'ls -a ~/.ssh/authorized_keys' &> /dev/null )
if [ $? = "0" ]
then
 echo "远程auth文件已存在!请输入两次密码信息用于远程传送文件[~/.ssh/authorized_keys] ,追加此文件:"
 scp -P1918 ~/.ssh/id_rsa.pub "$user"@"$ip":~/authorized_keys &> /dev/null
 ssh -p1918 "$user"@"$ip" 'cat ~/authorized_keys >> ~/.ssh/authorized_keys; rm -rf ~/authorized_keys'
else
 echo "远程auth文件不存在!请输入两次密码信息用于远程传送文件 [~/.ssh/authorized_keys] 创建目录并SCP"
 ssh -p1918 "$user"@"$ip" 'mkdir -p ~/.ssh/'
 scp -P1918 ~/.ssh/id_rsa.pub "$user"@"$ip":~/.ssh/authorized_keys &> /dev/null
fi

很实用,可拓展为批量添加脚本。

你可能感兴趣的:(password,IP地址,contact,Opinion,Without)