我的新工作要求我从数千个服务器中收集一些信息。但是,它们没有sshkey设置。一切都链接到LDAP密码。
设置为 {Mac使用ITerm2} –>带有LDAP + 2fA的ssh –>堡垒主机->仅使用LDAP密码连接到所有服务器。
我不想为尝试登录的每个主机继续输入LDAP密码。我是堡垒主机上的非特权用户。我无法在堡垒上安装任何东西,例如sshpass,expect,plink,
如何在脚本本身中使用带有ssh选项的以下脚本自动输入密码,或者在提示输入密码时我们可以使用Iterm自动填充吗?
#!/bin/bash
inFile=$1
user="zaib"
ssh_options="-o ConnectTimeout=5 -o ConnectionAttempts=1 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
read -r -d "" commands << EOF
#My Commands Here
uname -a;
netstat -rn;
EOF
log="remote_cmd_$inFile"
((c=1))
for srv in $(cat $inFile | awk -F, '{print $1}'); do
echo -n "$c: $srv " | tee -a $log
nohup ssh -qtt $ssh_options $user@$srv "sudo --bash -c '$commands'" 2>&1 | tee -a $log
((c=$c+1))
done