我是 bash 脚本新手。我想从我的脚本中调用一个函数,该函数将 ssh 到远程计算机(在我的 LAN 上)并运行命令。
到目前为止我有:
function run_ssh_command {
target_ip=$1
username=$2
password=$3
cmd=$4
ssh -l ${username} ${target_ip} ${password}
}
我从终端调用该函数,如下所示:
(笔记:在我的机器上执行该函数时,我给出 script_name、用户名和密码“真实”值。 “ifconfig”是我想在远程计算机上运行的命令。)
source script_name.sh; run_ssh_command 192.168.X.Y username password ifconfig
结果:运行上述命令将使我进入登录过程的密码提示部分(例如与 ssh 相同)[电子邮件受保护])
问题:我想使用脚本自动处理密码输入。一般来说,解决这个问题的“最佳”方法是什么?
答案1
答案2
使用它从脚本运行 ssh:
ssh -i {privateKey} -o StrictHostKeyChecking=no {userName}@{serverIp} "{command}"
例子:
ssh -i privateKey -o StrictHostKeyChecking=no [email protected] "mkdir testFolder"
此命令将从脚本代码创建一个测试文件夹。