SFTP를 통해 원격 서버에 파일을 전송하는 스크립트를 구현해야합니다. 필자는 paramiko
라이브러리를 사용하여 Python으로 스크립트를 구현했습니다. 집 컴퓨터에서 문제없이 직접 연결을 할 수는 있지만 직장에서는 프록시 서버를 통해 연결해야합니다.Python에서 ProxyCommand 객체를 만들 수 없습니다.
유용한 게시글을 찾았습니다. Python ssh using Tor proxy 구현을 잘 설명했지만 ProxyCommand를 만들 수 없어서 붙어 있습니다.
내 (의사) 코드 : 코드가 ProxyCommand의 창조에 종료
import paramiko
cmd = 'ssh proxy.server nc %h %p'
proxy = paramiko.ProxyCommand(cmd)
try:
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect('remote.server', username='ABC', password='123', sock=proxy)
client.close()
except Exception as e:
print(str(e))
finally:
client.close()
(3 호선) 다음 역 추적으로 인해에 FileNotFoundError
:
Traceback (most recent call last):
File "C:\Users\zzz\Documents\SFTPtest.py", line 3, in <module>
proxy = paramiko.ProxyCommand(cmd)
File "C:\Python33\lib\site-packages\paramiko-1.14.0-py3.3.egg\paramiko\proxy.py", line 49, in __init__
self.process = Popen(self.cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE)
File "C:\Python33\lib\subprocess.py", line 820, in __init__
restore_signals, start_new_session)
File "C:\Python33\lib\subprocess.py", line 1112, in _execute_child
raise WindowsError(*e.args)
FileNotFoundError: [WinError 2] The system cannot find the file specified
사람이 무엇을 조언 해 줄 수 있습니다 내가 잘못하고있는 것일까? 실제 명령이 잘못되었거나 제 구성에서 누락 된 것이있을 수 있습니까? Windows 7에서 Python 3.3.2를 실행합니다.