有没有办法让脚本充当主机文件,
所以我想说
./test1
它问我服务器的名称是什么,我输入“server1”,脚本从文件中获取IP地址并通过ssh连接到它,我设法让它与sshpass一起工作,但不能没有ip!
while read -p 'Enter the ip address for the server: ' ip_addr && [[ -z "$ip_addr" ]] ; do
echo " please, no blank IP address!"
sshpass -p "$password" ssh -o StrictHostKeyChecking=no $ip_addr "x=$y" /bin/bash << "EOF"
sudo su - $x
答案1
请尝试以下操作:
- 创建一个包含所有要 ssh 的主机的文本文件
- 逐行读取文件,并在那里执行一些操作
文本文件:
host1 #comment
host2 # also comment
host3 # # # it does not matter whats after the hostname
脚本:
cat Textfile | while read srv comment do;
sshpass -p "$password" ssh -o StrictHostKeyChecking=no USER@${srv} "COMMANDS"
done
对于密码事物:您应该考虑用公钥身份验证替换密码。为了让它发挥作用,你需要
- 使用“ssh-keygen ...”创建本地 ssk 密钥对
- 使用“ssh-copy-id ..”将公钥添加到远程系统授权密钥