我想使用 ssh 与 host1 进行通信,
假设我有 host2 的用户名/密码,我想通过 shell 脚本使用 ssh 连接到 host2(将用户名和密码作为参数)
有人可以帮我写同样的shell脚本吗?
答案1
我认为写下密码不是一个好主意。看看ssh
钥匙。您只需在 中创建一对公钥和私钥host1
并将公钥复制到其中host2
。这里是有关如何操作的教程。
答案2
尝试一下它可以工作,您需要安装expect
才能使其工作#!/bin/bash
HOSTS="VM2 VM3 VM4 VM1"
read -p "Password: " PASSWORD
for HOST in $HOSTS
do
expect -c "
your command
expect {
"*password:*" { send $PASSWORD\r;interact }
}
exit
"
done
答案3
看看ssh-agent
和sshpass
。
如果他们没有解决您的问题,请解释为什么他们没有解决问题。
答案4
如果您想进行持久的 ssh 通信,可以使用 autossh 等实用程序。