ssh免密码登陆自动化创建脚本

由于自己老是需要搞这个 , 前几次手动操作都没搞好 , 今天发狠了, 自己写了个脚本
 
.... 我晕...一次性通过了......
 
无语死了 ... 
 
人品爆发啊....
 
 
#!/bin/bash
echo "********************";
echo " 目的 在 A机器 [这里称为 控制机] 要免密码登陆 B机器[被控制机]";
echo "********************";
echo "";

echo "本脚本要在控制机器 A上运行";

echo "请输入被控制机器IP";
read destIp;

echo "";

echo "请输入被控制机器账号";
read destUser;

echo "";

echo "请输入被控制机器端口";
read destPort;

if [ -z "$destPort" ]; then
        destPort=22;
fi

echo "";

echo "是否已经在A机器生成了对应的key(y/n)";
read isHasCreateKey;

if [ "n" = "$isHasCreateKey" ]; then
        echo "需要生成公钥私钥 , 请连续敲三次回车";
        ssh-keygen -t rsa # (连续三次回车,即在本地生成了公钥和私钥,不设置密码)
fi

echo "正在被控制机器创建文件夹.ssh ; 需要输入被控制机器的密码 ; ";

ssh -p $destPort $destUser@$destIp "mkdir .ssh;chmod 0700 .ssh" # (需要输入密码, 注:必须将.ssh的权限设为700)

echo "正在传输对应的公钥到被控制机 , 请输入被控制机密码";
scp -P $destPort ~/.ssh/id_rsa.pub $destUser@$destIp:.ssh/id_rsa.pub # (需要输入密码)

echo "正在目标机器中部署 , 请输入被控制机密码";

ssh -p $destPort $destUser@$destIp "if [ ! -f  ~/.ssh/authorized_keys ]; then touch ~/.ssh/authorized_keys; fi; chmod 600 ~/.ssh/authorized_keys; cat ~/.ssh/id_rsa.pub  >> ~/.ssh/authorized_keys";

echo "";
echo "********************";
echo "恭喜!!! 已经完成了免密码登陆的所有操作 , 请使用尝试登陆!!!";
echo "********************";
echo "";

echo "ssh -p $destPort $destUser@$destIp";

 

 
 
 

转载于:https://my.oschina.net/mmfei/blog/1548514

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值