我正在尝试ssh到远程计算机并运行脚本。这个脚本有一个交互式确认:“你想运行它吗?{Y / N}”有点事。如何通过ssh命令直接对此说“Y”?
out = $(sshpass -p“abc”ssh -o StrictHostKeyChecking = no -l root x.x.x.x“./ abc.py”)
答案 0 :(得分:0)
我们应该能够使用'期待'为您的问题编写脚本。您可以点击以下链接参考 - https://www.thegeekstuff.com/2010/10/expect-examples/
答案 1 :(得分:0)
不确定这是否适用于sshpass,但它肯定适用于使用基于密钥或密码的身份验证的裸SSH。 如果你是一个shell ,你总是可以使用echo $INPUT | ./input-script.py|sh
之类的管道向脚本提供输入stdout,如下所示 -
$ ssh -i UAT.pem -o StrictHostKeyChecking=no -l ec2-user 13.222.237.508 "echo hello | ./1.py"
Please enter something:
you entered hello
Python脚本 -
#!/usr/bin/env python
var = raw_input("Please enter something: ")
print "\n"
print "you entered", var
希望这也适合你!