2013-07-15 1 views
0
>>>dns_node = [i for i in conn.list_nodes() if i.uuid == 'xxxxxxxxxxxxxxxxxxxxxxx07xxxxxxxxxx'] 
>>>try_script = 'path/to/somefile.py' 
>>>dns_file = FileDeployment(try_script, target='/home/ec2-user') 
>>>ssh_client = SSHClient(dns_node[0].public_ip[0], username='ec2-user', key=os.path.expanduser("~/.ssh/id_rsa")) 
>>>dns_file.run(dns_node, ssh_client) 

할당 된 이러한 각 변수는 적절한 유형으로 이해되는 것을 보여줍니다. 나는이 때, 나는 다음을 얻을 :libcloud FileDeployment SSHClient._transport is NoneType

dns_node :

`[<Node: uuid=xxxxxxxxxxxxxxxxxxxxxxx, name=ec2_node1, state=0, public_ips=['xx.xxx.xxx.xx'], provider=Amazon EC2 ...>]` 

dns_file :

<libcloud.compute.deployment.FileDeployment object at 0x10d58de50>

Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Users/ec2-user/Envs/libcloud/lib/python2.7/site-packages/libcloud/compute/deployment.py", line 111, in run contents=content) File "/Users/ec2-user/Envs/libcloud/lib/python2.7/site-packages/libcloud/compute/ssh.py", line 174, in put sftp = self.client.open_sftp() File "/Users/ec2-user/Envs/libcloud/lib/python2.7/site-packages/paramiko/client.py", line 414, in open_sftp return self._transport.open_sftp_client() AttributeError: 'NoneType' object has no attribute 'open_sftp_client'

이 내가 상기 목적을 위해 무엇을 가지고

ssh_client :

`<libcloud.compute.ssh.ParamikoSSHClient object at 0x10d55e950>` 

ssh_client.connect :

<bound method ParamikoSSHClient.connect of <libcloud.compute.ssh.ParamikoSSHClient object at 0x10d55e950>>

나는 무엇을 놓치고?

답변

0

paramiko 수준으로 갔고 내가 참조한 개인 키 파일이 암호화되어 있으며 ssh 연결에서 처리되지 않았 음을 알았습니다. 따라서 SSHCLient 객체가 있더라도 연결할 수 없습니다.

PKEY = paramiko.RSAKey.from_private_key_file (os.path.expanduser ('~/스푸핑/id_rsa_gsg_keypair를')) 역 추적 (마지막으로 가장 최근 통화) : 파일 "", 줄 1, 파일에서 "/ 사용자/ec2-user/envs/libcloud/lib/python2.7/site-packages/paramiko/pkey.py "from_private_key_file 키 = cls (파일 이름 = 파일 이름, 암호 = 암호) 파일/사용자 /ec2-user/Envs/libcloud/lib/python2.7/site-packages/paramiko/rsakey.py ", 줄 51, 초기화 self._from_private_key_file (파일 이름, 암호) 파일"/ Users/ec2- 사용자/Envs/libcloud/lib/python2.7/site-packages/paramiko/rsakey.py ", 줄 163, _from_private_key_file data = self._read_private_key_file ('RSA', 파일명, 비밀번호) 파일 "/Users/ec2-user/Envs/libcloud/lib/python2.7/site-packages/paramiko/pkey.py", 280 행 _read_private_key_file data = self._read_private_key (tag, f, password) 파일 "/Users/ec2-user/Envs/libcloud/lib/python2.7/site-packages/paramiko/pkey.py", 323 행, _read_private_key raise PasswordRequiredException ('개인 키 파일이 암호화 됨') paramiko.PasswordRequiredException : 개인 키 파일이 암호화 됨

암호가없는 키를 지정하고 연결이 완료되었습니다.