让远程主机互相信任SSH连接(不需要密码)的半手动shell脚本

#!/bin/bash
# trustme [remote user] [remote ip]
# example:
# trustme xxx 192.168.1.3

local_user=`whoami`
local_ip=`ifconfig|sed -n '/inet addr/s/^[^:]*:\([0-9.]\{7,15\}\) .*/\1/p'|sed -n 1p`
remote_user=$1@$2
key_path=/home/$1/

# check my public key
if [ ! -e ~/.ssh/id_rsa.pub ]; then
        echo "-creating public key for $local_user..."
        ssh-keygen -t rsa
fi

echo ""
echo "-copy public key to remote host"
scp ~/.ssh/id_rsa.pub $remote_user:$key_path
echo ""
echo "-make remote host trust me"
ssh $remote_user <<END
        cd /home/$1/
        if [ ! -e .ssh ]; then mkdir .ssh; fi
        cd .ssh
        touch authorized_keys
        # check if already trusted
        tee -a authorized_keys < /home/$1/id_rsa.pub
        chmod 744 authorized_keys
        ls -l |grep authorized_keys
        rm /home/$1/id_rsa.pub
END
scp $0 $remote_user:$key_path
ssh $remote_user "chmod 777 $key_path/$0"
echo ""
echo "this script has been copied to remote user"
echo "run [ $key_path/$0 $local_user $local_ip ] on remote host to trust back"



reference: https://blogs.oracle.com/jkini/entry/how_to_scp_scp_and
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值