【发布时间】:2019-08-14 11:12:18
【问题描述】:
我在脚本中使用'Pexpect' 库,之后想进行一些操作。我正在做的事情如下:
def child():
pexpect.spawn("ssh tranzmeo@192.168.21.110")
child.expect(".*password.*")
child.sendline('tranzmeo1@#')
print(child.before)
child.interact()
return
这是我从另一个文件(我称之为训练)调用的函数。当我运行训练时,child() 被调用,但它立即停止程序并进入tranzmeo 控制台,我没有'不想要。我需要 ssh 进入它并在 tranzmeo 的后台做一些操作。如何使用 pexpect 做到这一点?
我的operation如下(仅供参考):
def scp(tensorflow_file_location_temp ,tensorflow_file_loc)
child = pexpect.spawn("scp -r " + tensorflow_file_location_temp + "models@192.168.21.117:" + tensorflow_file_location )
child.expect(".*password.*")
child.sendline('Tranzmeo1@#')
child.interact()
【问题讨论】:
-
如果环境允许,您可以创建一个 ssh 密钥,将其 scp 到主机并允许无需密码的身份验证。这应该消除尝试将密码(位于纯文本中)提供给 ssh 进程的需要。
-
我还有其他操作,不只是scp!
-
您可以简单地使用 ssh 运行其他命令。用法:ssh @