Windows 컴퓨터에서 파이썬의 서브 프로세스 모듈을 사용하여 유닉스 박스에 연결하려고합니다. 엄격히 말하면 서브 프로세스 모듈 (plz 내 지식에 따라 유닉스에 연결하는 창에서 그들을 실행할 수 없습니다 pexpect, paramiko 제안도 환경 restrictitons) 여기 내 코드는 내가 시도하고 난 항상 암호 프롬프트로 대화 형 키보드 인증 메시지 : 나는 보내려고 해당 프롬프트에 대한 암호는 있지만 그렇게 할 수는 없습니다. 명령 나던 작품 -pw 사용파이썬을 사용하는 Windows에서 SSH를 사용하여 유닉스 박스에 로그인하는 동안 서브 프로세스를 사용하여 암호를 보낼 수 있습니까?
import subprocess
cmd='plink -ssh [email protected] -pw password'
sp=subprocess.Popen(cmd,stdin=subprocess.pipe,stdout=subprocess.pipe,shell=False)
sp.stdin.write('password \n')
sp.stdin.flush()
error,out=sp.communicate
print error
print out
는 콘솔에 stdin.write 위해 노력했다, (시간 - -pw 옵션 또는 stdin.write 중 하나를 사용했다)뿐만 아니라 그렇게 할 수 없었다. 또한
Windows에서 실행하고 환경 제한을 초래하지 않는 다른 제안을 기꺼이 기꺼이 받아 들일 의향이 있습니까? –
사실,'shell = False'는 (A) Windows에서는 무시됩니다. (B) 명령을 'Popen'에 단일 문자열로 전달할 때 원하는 플래그가 아닙니다. –
@MadPhysicist 예. 나는이 메시지를받지 않고 유닉스 박스에 연결할 수있는 파이썬 내부 모듈을 사용하는 제안에 개방되어있다. 암호가없는 로그인을하기 위해 비공개 키를 사용하는 옵션을 사용하지 않는다는 것을 유의한다. –