파이썬에서 파일을 scp하는 가장 파이썬적인 방법은 무엇입니까? 내가 아는 유일한 길은
os.system('scp "%s" "%s:%s"' % (localfile, remotehost, remotefile) )
이것은 해킹이며 Linux와 같은 시스템 외부에서는 작동하지 않으며 원격 호스트에 비밀번호가없는 SSH를 설정하지 않은 경우 비밀번호 프롬프트를 피하기 위해 Pexpect 모듈의 도움이 필요합니다.
Twisted 's를 알고 conch
있지만 저수준 ssh 모듈을 통해 직접 scp를 구현하지 않는 것이 좋습니다.
paramiko
SSH와 SFTP를 지원하는 Python 모듈을 알고 있습니다 . 그러나 SCP를 지원하지 않습니다.
배경 : SFTP는 지원하지 않지만 SSH / SCP는 지원하는 라우터에 연결하고 있으므로 SFTP는 옵션이 아닙니다.
편집 : 이것은 SCP 또는 SSH를 사용하여 Python에서 원격 서버로 파일을 복사하는 방법 의 복제본 입니까? . 그러나 그 질문은 파이썬 내에서 키를 다루는 scp 특정 답변을 제공하지 않습니다. 비슷한 코드를 실행하는 방법을 기대하고 있습니다.
import scp
client = scp.Client(host=host, user=user, keyfile=keyfile)
# or
client = scp.Client(host=host, user=user)
client.use_system_keys()
# or
client = scp.Client(host=host, user=user, password=password)
# and then
client.transfer('/etc/local/filename', '/etc/remote/filename')
scp
하는scp
명령 줄을 실제로 호출 하는 많은 코드입니다 .