2017-01-13 9 views
-2

나는 (내가 그렇게 어쨌든 생각)을 사용하여 연결 내가 할 수 있었다 온라인 비트와 조각에서 Paramiko의 라이브러리 http://docs.paramiko.org/en/2.1/api/sftp.htmlParamiko의 SFTP 파이썬 연결

를 사용하여 파이썬 (V2.7)과 SFTP 연결을 설정하기 위해 노력하고있어 개인 암호화 된 인증서. 다음과 같이

이 보인다 :이 시점에서

import paramiko 
sftp = paramiko.SSHClient() 

hostname = "sftp.host.com" 
port = 8022 
username = "sftplogin" 

k = paramiko.RSAKey.from_private_key_file("private.pem", password="XXX") 
sftp.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
print "Connecting..." 
sftp.connect(hostname, port, username=username, pkey=k) 
print "Connected to: " + hostname + ":" + port 
print sftp.getcwd() 
sftp.close() 

가, 난 그냥 연결하지 않은 망상 사실이 아니에요 있는지 확인하기 위해 노력하고있어 그래서 (A에 getcwd를 인쇄하려고 해요 왜

AttributeError: 'SSHClient' object has no attribute 'getcwd'

사람이 말해 줄 수 :)이이 오류를 반환 것 안타깝게도 나는 갈 곳없는거야 ... 현재 디렉토리를 얻으려면? 내가 도대체 ​​뭘 잘못하고있는 겁니까?

미리 감사드립니다.

답변

1

이것은 저에게 효과적입니다.

import os 
import paramiko 

host = "sftp.host.com" 
port = 8022 
transport = paramiko.Transport((host, port)) 
username = "sftplogin" 
mykey = paramiko.RSAKey.from_private_key_file("private_export.pem", password="XXX") 
print "Connecting..." 
transport.connect(username = username, pkey = mykey) 
sftp = paramiko.SFTPClient.from_transport(transport) 
print "Connected." 
print sftp.listdir() 
sftp.close() 
transport.close() 
print "Closed connection." 
1

paramiko.SSHClient 개체를 인스턴스화했지만 SFTP Client methods을 실행하려고합니다.

당신은 그 사실을 입증하기 위해이 작업을 수행 할 수 있어야한다 :

sftp.exec_command('pwd') 

하지만 그건 당신이 잘못 아마 어디 그래서, 당신은 오히려 SSH 클라이언트보다는 SFTP 클래스의 인스턴스를 의미 생각합니다.