首页 > 解决方案 > Python自动登录

问题描述

我使用此代码通过 ssh 进行通信。

但我的问题是我必须输入 ssh 密码。我知道我可以使用plink它并且它可以处理密码,但我想以这种方式解决它。如果我写密码,“ls”、“uname”等命令运行没有问题。

是否可以在没有用户交互的情况下自动填写密码?

import subprocess
import sys
HOST="127.0.0.1"
ssh = subprocess.Popen(["ssh",
                        "%s" % HOST],
                        stdin=subprocess.PIPE,
                        stdout=subprocess.PIPE,
                        stderr=subprocess.PIPE,
                        universal_newlines=True,
                        bufsize=0)
# send ssh commands to stdin
ssh.stdin.write("ls .\n")
ssh.stdin.write("uname -a\n")
ssh.stdin.write("uptime\n")
ssh.stdin.close()
# fetch output
for line in ssh.stdout:
    print(line),

标签: pythonssh

解决方案


推荐阅读