ssh命令需要交互式输入

时间:2018-01-11 03:43:04

标签: python linux bash ssh

我正在尝试ssh到远程计算机并运行脚本。这个脚本有一个交互式确认:“你想运行它吗?{Y / N}”有点事。如何通过ssh命令直接对此说“Y”?

  

out = $(sshpass -p“abc”ssh -o StrictHostKeyChecking = no -l root x.x.x.x“./ abc.py”)

2 个答案:

答案 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

希望这也适合你!