【发布时间】:2021-02-24 14:17:32
【问题描述】:
代码有效,但它仍然要求在 cmd 中输入密码:
import subprocess
import os, sys
password='password'
args = ['ssh', '-p', 'ssh', 'user@<ip>', 'ls']
proc = subprocess.Popen(args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
proc.stdin.write('password\n')
proc.stdin.flush()
proc.stdin.close()
stdout, stderr = proc.communicate()
print (stdout)
【问题讨论】:
-
任何帮助将不胜感激
-
ssh直接从终端读取其密码,而不是标准输入。 -
@nitz:有什么问题,如何将密码传递给 ssh ?
-
设置基于密钥的身份验证..
-
@rasjani tbh 我宁愿使用密码连接远程机器,也不愿使用无密码私钥。
标签: python linux subprocess