linux免密码登录自动化脚本,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";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值