parmiko problem

G

George Trojan

I have a problem with connecting to a host without specifying password
(but with ssh keys configured correctly. That is

[tina src]$ sftp alice
Connecting to alice...
sftp>

works, but the code

import paramiko
paramiko.util.log_to_file('/tmp/paramiko')
t = paramiko.Transport(('alice', 22))
t.connect(username='gtrojan') # , password='a-passwd'])
sftp = paramiko.SFTPClient.from_transport(t)
sftp.close()
t.close()

results in the following output in /tmp/paramiko:

DEB [20100719-19:58:22.497] thr=1 paramiko.transport: starting thread
(client mode): 0xb81e1150L
INF [20100719-19:58:22.501] thr=1 paramiko.transport: Connected
(version 2.0, client OpenSSH_4.3)
DEB [20100719-19:58:22.502] thr=1 paramiko.transport: kex
algos:['diffie-hellman-group-exchange-sha1',
'diffie-hellman-group14-sha1', 'diffie-hellman-group1-sha1'] server
key:['ssh-rsa', 'ssh-dss'] client encrypt:['aes128-cbc', '3des-cbc',
'blowfish-cbc', 'cast128-cbc', 'arcfour128', 'arcfour256', 'arcfour',
'aes192-cbc', 'aes256-cbc', '(e-mail address removed)', 'aes128-ctr',
'aes192-ctr', 'aes256-ctr'] server encrypt:['aes128-cbc', '3des-cbc',
'blowfish-cbc', 'cast128-cbc', 'arcfour128', 'arcfour256', 'arcfour',
'aes192-cbc', 'aes256-cbc', '(e-mail address removed)', 'aes128-ctr',
'aes192-ctr', 'aes256-ctr'] client mac:['hmac-md5', 'hmac-sha1',
'hmac-ripemd160', '(e-mail address removed)', 'hmac-sha1-96',
'hmac-md5-96'] server mac:['hmac-md5', 'hmac-sha1', 'hmac-ripemd160',
'(e-mail address removed)', 'hmac-sha1-96', 'hmac-md5-96'] client
compress:['none', '(e-mail address removed)'] server compress:['none',
'(e-mail address removed)'] client lang:[''] server lang:[''] kex follows?False
DEB [20100719-19:58:22.502] thr=1 paramiko.transport: Ciphers agreed:
local=aes128-ctr, remote=aes128-ctr
DEB [20100719-19:58:22.502] thr=1 paramiko.transport: using kex
diffie-hellman-group1-sha1; server key type ssh-rsa; cipher: local
aes128-ctr, remote aes128-ctr; mac: local hmac-sha1, remote hmac-sha1;
compression: local none, remote none
DEB [20100719-19:58:22.571] thr=1 paramiko.transport: Switch to new
keys ...
DEB [20100719-19:58:22.578] thr=2 paramiko.transport: [chan 1] Max
packet in: 34816 bytes
WAR [20100719-19:58:22.611] thr=1 paramiko.transport: Oops, unhandled
type 3
DEB [20100719-20:00:22.502] thr=1 paramiko.transport: EOF in transport
thread

and a traceback in the terminal:

Traceback (most recent call last):
File "./try.py", line 18, in <module>
sftp = paramiko.SFTPClient.from_transport(t)
File "build/bdist.linux-x86_64/egg/paramiko/sftp_client.py", line
102, in from_transport
File "build/bdist.linux-x86_64/egg/paramiko/transport.py", line 655,
in open_session
File "build/bdist.linux-x86_64/egg/paramiko/transport.py", line 745,
in open_channel
EOFError

When the remove the comment on the connect() line and specify password
the code works fine. Is this a bug, or I am missing something? I am
running Python 2.6.3 on Centos 5.4.

George
 
G

George Trojan

George said:
I have a problem with connecting to a host without specifying password
(but with ssh keys configured correctly. That is

[tina src]$ sftp alice
Connecting to alice...
sftp>

works, but the code

import paramiko
paramiko.util.log_to_file('/tmp/paramiko')
t = paramiko.Transport(('alice', 22))
t.connect(username='gtrojan') # , password='a-passwd'])
sftp = paramiko.SFTPClient.from_transport(t)
sftp.close()
t.close()

results in the following output in /tmp/paramiko:

DEB [20100719-19:58:22.497] thr=1 paramiko.transport: starting thread
(client mode): 0xb81e1150L
INF [20100719-19:58:22.501] thr=1 paramiko.transport: Connected
(version 2.0, client OpenSSH_4.3)
DEB [20100719-19:58:22.502] thr=1 paramiko.transport: kex
algos:['diffie-hellman-group-exchange-sha1',
'diffie-hellman-group14-sha1', 'diffie-hellman-group1-sha1'] server
key:['ssh-rsa', 'ssh-dss'] client encrypt:['aes128-cbc', '3des-cbc',
'blowfish-cbc', 'cast128-cbc', 'arcfour128', 'arcfour256', 'arcfour',
'aes192-cbc', 'aes256-cbc', '(e-mail address removed)', 'aes128-ctr',
'aes192-ctr', 'aes256-ctr'] server encrypt:['aes128-cbc', '3des-cbc',
'blowfish-cbc', 'cast128-cbc', 'arcfour128', 'arcfour256', 'arcfour',
'aes192-cbc', 'aes256-cbc', '(e-mail address removed)', 'aes128-ctr',
'aes192-ctr', 'aes256-ctr'] client mac:['hmac-md5', 'hmac-sha1',
'hmac-ripemd160', '(e-mail address removed)', 'hmac-sha1-96',
'hmac-md5-96'] server mac:['hmac-md5', 'hmac-sha1', 'hmac-ripemd160',
'(e-mail address removed)', 'hmac-sha1-96', 'hmac-md5-96'] client
compress:['none', '(e-mail address removed)'] server compress:['none',
'(e-mail address removed)'] client lang:[''] server lang:[''] kex follows?False
DEB [20100719-19:58:22.502] thr=1 paramiko.transport: Ciphers agreed:
local=aes128-ctr, remote=aes128-ctr
DEB [20100719-19:58:22.502] thr=1 paramiko.transport: using kex
diffie-hellman-group1-sha1; server key type ssh-rsa; cipher: local
aes128-ctr, remote aes128-ctr; mac: local hmac-sha1, remote hmac-sha1;
compression: local none, remote none
DEB [20100719-19:58:22.571] thr=1 paramiko.transport: Switch to new
keys ...
DEB [20100719-19:58:22.578] thr=2 paramiko.transport: [chan 1] Max
packet in: 34816 bytes
WAR [20100719-19:58:22.611] thr=1 paramiko.transport: Oops, unhandled
type 3
DEB [20100719-20:00:22.502] thr=1 paramiko.transport: EOF in transport
thread

and a traceback in the terminal:

Traceback (most recent call last):
File "./try.py", line 18, in <module>
sftp = paramiko.SFTPClient.from_transport(t)
File "build/bdist.linux-x86_64/egg/paramiko/sftp_client.py", line 102,
in from_transport
File "build/bdist.linux-x86_64/egg/paramiko/transport.py", line 655,
in open_session
File "build/bdist.linux-x86_64/egg/paramiko/transport.py", line 745,
in open_channel
EOFError

When the remove the comment on the connect() line and specify password
the code works fine. Is this a bug, or I am missing something? I am
running Python 2.6.3 on Centos 5.4.

George

Thanks for listening;-) Found my problem - has to pass private key to
connect():

paramiko.util.log_to_file('/tmp/paramiko')
t = paramiko.Transport(('alice', 22))
path = os.path.join(os.environ['HOME'], '.ssh', 'id_dsa')
key = paramiko.DSSKey.from_private_key_file(path)
t.connect(username='gtrojan', pkey=key)
sftp = paramiko.SFTPClient.from_transport(t)
print sftp.listdir()
sftp.close()
t.close()
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,994
Messages
2,570,222
Members
46,809
Latest member
moe77

Latest Threads

Top