[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.python

Re: paramiko

Guilherme Polo

1/16/2008 5:12:00 PM

2008/1/16, Tarun Kapoor <tkapoor@wscm.net>:
>
>
>
>
> I am using paramiko to do an SFTP file transfer… I was able to connect to
> the remote server using an SFTP client I have just to make sure that
> username and password are working.. This is the code.
>
>
>
> # now, connect and use paramiko Transport to negotiate SSH2 across the
> connection
>
> sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
>
> sock.connect((hostname, port))
>
>
>
> t = paramiko.Transport(sock)
>
> event = threading.Event()
>
> t.start_client(event)
>
>
>
> event.wait(15)
>
>
>
> if not t.is_active():
>
> print 'SSH negotiation failed.'
>
> sys.exit(1)
>
> else:
>
> print "SSH negotiation sucessful"
>
>
>
> event.clear()
>
>
>
> t.auth_password(username=username, password=password,event=event)
>
>
>
> if not t.is_authenticated():
>
> print "not authenticated"
>
> output:
>
> SSH negotiation successful
>
> not authenticated
>
>
>
>
>
>
>
> Tarun
>
>
>
> Waterstone Capital Management
>
> 2 Carlson Parkway, Suite 260
>
> Plymouth, MN 55447
>
>
>
> Direct: 952-697-4123
>
> Cell: 612-205-2587
> Disclaimer This e-mail and any attachments is confidential and intended
> solely for the use of the individual(s) to whom it is addressed. Any views
> or opinions presented are solely those of the author and do not necessarily
> represent those of Waterstone Capital Management, L.P and affiliates. If you
> are not the intended recipient, be advised that you have received this
> e-mail in error and that any use, dissemination, printing, forwarding or
> copying of this email is strictly prohibited. Please contact the sender if
> you have received this e-mail in error. You should also be aware that
> e-mails are susceptible to interference and you should not assume that the
> contents of this e-mail originated from the sender above or that they have
> been accurately reproduced in their original form. Waterstone Capital
> Management, L.P. and affiliates accepts no responsibility for information,
> or errors or omissions in this e-mail or use or misuse thereof. If in doubt,
> please verify the authenticity with the sender.
> --
> http://mail.python.org/mailman/listinfo/p...
>

You are missing an event.wait() after t.auth_password.
Also, why are you passing this magic value "15" to event.wait() ? That
parameter is passed to class _Verbose to indicate if debug messages
should be displayed or not, so typical values would be 0/1 or
False/True.

--
-- Guilherme H. Polo Goncalves
8 Answers

Tarun Kapoor

1/16/2008 5:21:00 PM

0

# now, connect and use paramiko Transport to negotiate SSH2 across
the connection
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((hostname, port))

t = paramiko.Transport(sock)
t.start_client()
key = t.get_remote_server_key()

event = threading.Event()
t.auth_password(username=username, password=password, event=event)
event.wait()

if not t.is_authenticated():
print "not authenticated"

output:
not authenticated




On Jan 16, 11:11 am, "Guilherme Polo" <ggp...@gmail.com> wrote:
> 2008/1/16, Tarun Kapoor <tkap...@wscm.net>:
>
>
>
>
>
> > I am using paramiko to do an SFTP file transfer... I was able to connect to
> > the remote server using an SFTP client I have just to make sure that
> > username and password are working.. This is the code.
>
> > # now, connect and use paramiko Transport to negotiate SSH2 across the
> > connection
>
> > sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
>
> > sock.connect((hostname, port))
>
> > t = paramiko.Transport(sock)
>
> > event = threading.Event()
>
> > t.start_client(event)
>
> > event.wait(15)
>
> > if not t.is_active():
>
> > print 'SSH negotiation failed.'
>
> > sys.exit(1)
>
> > else:
>
> > print "SSH negotiation sucessful"
>
> > event.clear()
>
> > t.auth_password(username=username, password=password,event=event)
>
> > if not t.is_authenticated():
>
> > print "not authenticated"
>
> > output:
>
> > SSH negotiation successful
>
> > not authenticated
>
> > Tarun
>
> > Waterstone Capital Management
>
> > 2 Carlson Parkway, Suite 260
>
> > Plymouth, MN 55447
>
> > Direct: 952-697-4123
>
> > Cell: 612-205-2587
> > Disclaimer This e-mail and any attachments is confidential and intended
> > solely for the use of the individual(s) to whom it is addressed. Any views
> > or opinions presented are solely those of the author and do not necessarily
> > represent those of Waterstone Capital Management, L.P and affiliates. If you
> > are not the intended recipient, be advised that you have received this
> > e-mail in error and that any use, dissemination, printing, forwarding or
> > copying of this email is strictly prohibited. Please contact the sender if
> > you have received this e-mail in error. You should also be aware that
> > e-mails are susceptible to interference and you should not assume that the
> > contents of this e-mail originated from the sender above or that they have
> > been accurately reproduced in their original form. Waterstone Capital
> > Management, L.P. and affiliates accepts no responsibility for information,
> > or errors or omissions in this e-mail or use or misuse thereof. If in doubt,
> > please verify the authenticity with the sender.
> > --
> >http://mail.python.org/mailman/listinfo/p...
>
> You are missing an event.wait() after t.auth_password.
> Also, why are you passing this magic value "15" to event.wait() ? That
> parameter is passed to class _Verbose to indicate if debug messages
> should be displayed or not, so typical values would be 0/1 or
> False/True.
>
> --
> -- Guilherme H. Polo Goncalves

Guilherme Polo

1/16/2008 5:39:00 PM

0

2008/1/16, Tarun Kapoor <tarun.kap@gmail.com>:
> # now, connect and use paramiko Transport to negotiate SSH2 across
> the connection
> sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
> sock.connect((hostname, port))
>
> t = paramiko.Transport(sock)
> t.start_client()
> key = t.get_remote_server_key()
>
> event = threading.Event()
> t.auth_password(username=username, password=password, event=event)
> event.wait()
>
> if not t.is_authenticated():
> print "not authenticated"
>
> output:
> not authenticated
>

This is a different problem I guess, now you are usin get_remote_server_key.
And why are you creating event after calling start_client without
specifying it ?

>
>
>
> On Jan 16, 11:11 am, "Guilherme Polo" <ggp...@gmail.com> wrote:
> > 2008/1/16, Tarun Kapoor <tkap...@wscm.net>:
> >
> >
> >
> >
> >
> > > I am using paramiko to do an SFTP file transfer... I was able to connect to
> > > the remote server using an SFTP client I have just to make sure that
> > > username and password are working.. This is the code.
> >
> > > # now, connect and use paramiko Transport to negotiate SSH2 across the
> > > connection
> >
> > > sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
> >
> > > sock.connect((hostname, port))
> >
> > > t = paramiko.Transport(sock)
> >
> > > event = threading.Event()
> >
> > > t.start_client(event)
> >
> > > event.wait(15)
> >
> > > if not t.is_active():
> >
> > > print 'SSH negotiation failed.'
> >
> > > sys.exit(1)
> >
> > > else:
> >
> > > print "SSH negotiation sucessful"
> >
> > > event.clear()
> >
> > > t.auth_password(username=username, password=password,event=event)
> >
> > > if not t.is_authenticated():
> >
> > > print "not authenticated"
> >
> > > output:
> >
> > > SSH negotiation successful
> >
> > > not authenticated
> >
> > > Tarun
> >
> > > Waterstone Capital Management
> >
> > > 2 Carlson Parkway, Suite 260
> >
> > > Plymouth, MN 55447
> >
> > > Direct: 952-697-4123
> >
> > > Cell: 612-205-2587
> > > Disclaimer This e-mail and any attachments is confidential and intended
> > > solely for the use of the individual(s) to whom it is addressed. Any views
> > > or opinions presented are solely those of the author and do not necessarily
> > > represent those of Waterstone Capital Management, L.P and affiliates. If you
> > > are not the intended recipient, be advised that you have received this
> > > e-mail in error and that any use, dissemination, printing, forwarding or
> > > copying of this email is strictly prohibited. Please contact the sender if
> > > you have received this e-mail in error. You should also be aware that
> > > e-mails are susceptible to interference and you should not assume that the
> > > contents of this e-mail originated from the sender above or that they have
> > > been accurately reproduced in their original form. Waterstone Capital
> > > Management, L.P. and affiliates accepts no responsibility for information,
> > > or errors or omissions in this e-mail or use or misuse thereof. If in doubt,
> > > please verify the authenticity with the sender.
> > > --
> > >http://mail.python.org/mailman/listinfo/p...
> >
> > You are missing an event.wait() after t.auth_password.
> > Also, why are you passing this magic value "15" to event.wait() ? That
> > parameter is passed to class _Verbose to indicate if debug messages
> > should be displayed or not, so typical values would be 0/1 or
> > False/True.
> >
> > --
> > -- Guilherme H. Polo Goncalves
>
> --
> http://mail.python.org/mailman/listinfo/p...
>


--
-- Guilherme H. Polo Goncalves

Tarun Kapoor

1/16/2008 6:02:00 PM

0

On Jan 16, 11:38 am, "Guilherme Polo" <ggp...@gmail.com> wrote:
> 2008/1/16, Tarun Kapoor <tarun....@gmail.com>:
>
>
>
> > # now, connect and use paramiko Transport to negotiate SSH2 across
> > the connection
> > sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
> > sock.connect((hostname, port))
>
> > t = paramiko.Transport(sock)
> > t.start_client()
> > key = t.get_remote_server_key()
>
> > event = threading.Event()
> > t.auth_password(username=username, password=password, event=event)
> > event.wait()
>
> > if not t.is_authenticated():
> > print "not authenticated"
>
> > output:
> > not authenticated
>
> This is a different problem I guess, now you are usin get_remote_server_key.
> And why are you creating event after calling start_client without
> specifying it ?
>
>
>
>
>
> > On Jan 16, 11:11 am, "Guilherme Polo" <ggp...@gmail.com> wrote:
> > > 2008/1/16, Tarun Kapoor <tkap...@wscm.net>:
>
> > > > I am using paramiko to do an SFTP file transfer... I was able to connect to
> > > > the remote server using an SFTP client I have just to make sure that
> > > > username and password are working.. This is the code.
>
> > > > # now, connect and use paramiko Transport to negotiate SSH2 across the
> > > > connection
>
> > > > sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
>
> > > > sock.connect((hostname, port))
>
> > > > t = paramiko.Transport(sock)
>
> > > > event = threading.Event()
>
> > > > t.start_client(event)
>
> > > > event.wait(15)
>
> > > > if not t.is_active():
>
> > > > print 'SSH negotiation failed.'
>
> > > > sys.exit(1)
>
> > > > else:
>
> > > > print "SSH negotiation sucessful"
>
> > > > event.clear()
>
> > > > t.auth_password(username=username, password=password,event=event)
>
> > > > if not t.is_authenticated():
>
> > > > print "not authenticated"
>
> > > > output:
>
> > > > SSH negotiation successful
>
> > > > not authenticated
>
> > > > Tarun
>
> > > > Waterstone Capital Management
>
> > > > 2 Carlson Parkway, Suite 260
>
> > > > Plymouth, MN 55447
>
> > > > Direct: 952-697-4123
>
> > > > Cell: 612-205-2587
> > > > Disclaimer This e-mail and any attachments is confidential and intended
> > > > solely for the use of the individual(s) to whom it is addressed. Any views
> > > > or opinions presented are solely those of the author and do not necessarily
> > > > represent those of Waterstone Capital Management, L.P and affiliates. If you
> > > > are not the intended recipient, be advised that you have received this
> > > > e-mail in error and that any use, dissemination, printing, forwarding or
> > > > copying of this email is strictly prohibited. Please contact the sender if
> > > > you have received this e-mail in error. You should also be aware that
> > > > e-mails are susceptible to interference and you should not assume that the
> > > > contents of this e-mail originated from the sender above or that they have
> > > > been accurately reproduced in their original form. Waterstone Capital
> > > > Management, L.P. and affiliates accepts no responsibility for information,
> > > > or errors or omissions in this e-mail or use or misuse thereof. If in doubt,
> > > > please verify the authenticity with the sender.
> > > > --
> > > >http://mail.python.org/mailman/listinfo/p...
>
> > > You are missing an event.wait() after t.auth_password.
> > > Also, why are you passing this magic value "15" to event.wait() ? That
> > > parameter is passed to class _Verbose to indicate if debug messages
> > > should be displayed or not, so typical values would be 0/1 or
> > > False/True.
>
> > > --
> > > -- Guilherme H. Polo Goncalves
>
> > --
> >http://mail.python.org/mailman/listinfo/p...
>
> --
> -- Guilherme H. Polo Goncalves


ok here is the problem... I don't know what is the correct way... The
only demos i have from the paramiko library use a hostkeyfile. since i
don't have that i thought i would use the get_remote_key to get the
key and then connect it using the code in the demo.. But clearly
nothing is working...I should not HAVE to use the key since i should
be able to authenticate using the password...

Can you please suggest the right way to go ?

Thanks for your time !

Guilherme Polo

1/16/2008 6:22:00 PM

0

2008/1/16, Tarun Kapoor <tarun.kap@gmail.com>:
> On Jan 16, 11:38 am, "Guilherme Polo" <ggp...@gmail.com> wrote:
> > 2008/1/16, Tarun Kapoor <tarun....@gmail.com>:
> >
> >
> >
> > > # now, connect and use paramiko Transport to negotiate SSH2 across
> > > the connection
> > > sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
> > > sock.connect((hostname, port))
> >
> > > t = paramiko.Transport(sock)
> > > t.start_client()
> > > key = t.get_remote_server_key()
> >
> > > event = threading.Event()
> > > t.auth_password(username=username, password=password, event=event)
> > > event.wait()
> >
> > > if not t.is_authenticated():
> > > print "not authenticated"
> >
> > > output:
> > > not authenticated
> >
> > This is a different problem I guess, now you are usin get_remote_server_key.
> > And why are you creating event after calling start_client without
> > specifying it ?
> >
> >
> >
> >
> >
> > > On Jan 16, 11:11 am, "Guilherme Polo" <ggp...@gmail.com> wrote:
> > > > 2008/1/16, Tarun Kapoor <tkap...@wscm.net>:
> >
> > > > > I am using paramiko to do an SFTP file transfer... I was able to connect to
> > > > > the remote server using an SFTP client I have just to make sure that
> > > > > username and password are working.. This is the code.
> >
> > > > > # now, connect and use paramiko Transport to negotiate SSH2 across the
> > > > > connection
> >
> > > > > sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
> >
> > > > > sock.connect((hostname, port))
> >
> > > > > t = paramiko.Transport(sock)
> >
> > > > > event = threading.Event()
> >
> > > > > t.start_client(event)
> >
> > > > > event.wait(15)
> >
> > > > > if not t.is_active():
> >
> > > > > print 'SSH negotiation failed.'
> >
> > > > > sys.exit(1)
> >
> > > > > else:
> >
> > > > > print "SSH negotiation sucessful"
> >
> > > > > event.clear()
> >
> > > > > t.auth_password(username=username, password=password,event=event)
> >
> > > > > if not t.is_authenticated():
> >
> > > > > print "not authenticated"
> >
> > > > > output:
> >
> > > > > SSH negotiation successful
> >
> > > > > not authenticated
> >
> > > > > Tarun
> >
> > > > > Waterstone Capital Management
> >
> > > > > 2 Carlson Parkway, Suite 260
> >
> > > > > Plymouth, MN 55447
> >
> > > > > Direct: 952-697-4123
> >
> > > > > Cell: 612-205-2587
> > > > > Disclaimer This e-mail and any attachments is confidential and intended
> > > > > solely for the use of the individual(s) to whom it is addressed. Any views
> > > > > or opinions presented are solely those of the author and do not necessarily
> > > > > represent those of Waterstone Capital Management, L.P and affiliates. If you
> > > > > are not the intended recipient, be advised that you have received this
> > > > > e-mail in error and that any use, dissemination, printing, forwarding or
> > > > > copying of this email is strictly prohibited. Please contact the sender if
> > > > > you have received this e-mail in error. You should also be aware that
> > > > > e-mails are susceptible to interference and you should not assume that the
> > > > > contents of this e-mail originated from the sender above or that they have
> > > > > been accurately reproduced in their original form. Waterstone Capital
> > > > > Management, L.P. and affiliates accepts no responsibility for information,
> > > > > or errors or omissions in this e-mail or use or misuse thereof. If in doubt,
> > > > > please verify the authenticity with the sender.
> > > > > --
> > > > >http://mail.python.org/mailman/listinfo/p...
> >
> > > > You are missing an event.wait() after t.auth_password.
> > > > Also, why are you passing this magic value "15" to event.wait() ? That
> > > > parameter is passed to class _Verbose to indicate if debug messages
> > > > should be displayed or not, so typical values would be 0/1 or
> > > > False/True.
> >
> > > > --
> > > > -- Guilherme H. Polo Goncalves
> >
> > > --
> > >http://mail.python.org/mailman/listinfo/p...
> >
> > --
> > -- Guilherme H. Polo Goncalves
>
>
> ok here is the problem... I don't know what is the correct way... The
> only demos i have from the paramiko library use a hostkeyfile. since i
> don't have that i thought i would use the get_remote_key to get the
> key and then connect it using the code in the demo.. But clearly
> nothing is working...I should not HAVE to use the key since i should
> be able to authenticate using the password...
>
> Can you please suggest the right way to go ?

You don't need to use key to authenticate using username and password,
indeed. And you don't. Your first email was almost correct, you just
needed to add event.wait() after t.auth_password. It worked here after
doing that change. You can check out my version:

import sys
import socket
import paramiko
import threading

if len(sys.argv) != 4:
print "%s hostname user password" % sys.argv[0]
sys.exit(1)

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((sys.argv[1], 22))

t = paramiko.Transport(sock)
event = threading.Event()
t.start_client(event)

event.wait()

if not t.is_active():
print 'SSH negotiation failed.'
sys.exit(1)
else:
print "SSH negotiation sucessful"

event.clear()
t.auth_password(username=sys.argv[2], password=sys.argv[3], event=event)
event.wait()
if not t.is_authenticated():
print "Authentication failed."
else:
print "Authenticated!"

t.close()

>
> Thanks for your time !
> --
> http://mail.python.org/mailman/listinfo/p...
>


--
-- Guilherme H. Polo Goncalves

Tarun Kapoor

1/16/2008 7:33:00 PM

0

On Jan 16, 12:22 pm, "Guilherme Polo" <ggp...@gmail.com> wrote:
> 2008/1/16, Tarun Kapoor <tarun....@gmail.com>:
>
>
>
> > On Jan 16, 11:38 am, "Guilherme Polo" <ggp...@gmail.com> wrote:
> > > 2008/1/16, Tarun Kapoor <tarun....@gmail.com>:
>
> > > > # now, connect and use paramiko Transport to negotiate SSH2 across
> > > > the connection
> > > > sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
> > > > sock.connect((hostname, port))
>
> > > > t = paramiko.Transport(sock)
> > > > t.start_client()
> > > > key = t.get_remote_server_key()
>
> > > > event = threading.Event()
> > > > t.auth_password(username=username, password=password, event=event)
> > > > event.wait()
>
> > > > if not t.is_authenticated():
> > > > print "not authenticated"
>
> > > > output:
> > > > not authenticated
>
> > > This is a different problem I guess, now you are usin get_remote_server_key.
> > > And why are you creating event after calling start_client without
> > > specifying it ?
>
> > > > On Jan 16, 11:11 am, "Guilherme Polo" <ggp...@gmail.com> wrote:
> > > > > 2008/1/16, Tarun Kapoor <tkap...@wscm.net>:
>
> > > > > > I am using paramiko to do an SFTP file transfer... I was able to connect to
> > > > > > the remote server using an SFTP client I have just to make sure that
> > > > > > username and password are working.. This is the code.
>
> > > > > > # now, connect and use paramiko Transport to negotiate SSH2 across the
> > > > > > connection
>
> > > > > > sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
>
> > > > > > sock.connect((hostname, port))
>
> > > > > > t = paramiko.Transport(sock)
>
> > > > > > event = threading.Event()
>
> > > > > > t.start_client(event)
>
> > > > > > event.wait(15)
>
> > > > > > if not t.is_active():
>
> > > > > > print 'SSH negotiation failed.'
>
> > > > > > sys.exit(1)
>
> > > > > > else:
>
> > > > > > print "SSH negotiation sucessful"
>
> > > > > > event.clear()
>
> > > > > > t.auth_password(username=username, password=password,event=event)
>
> > > > > > if not t.is_authenticated():
>
> > > > > > print "not authenticated"
>
> > > > > > output:
>
> > > > > > SSH negotiation successful
>
> > > > > > not authenticated
>
> > > > > > Tarun
>
> > > > > > Waterstone Capital Management
>
> > > > > > 2 Carlson Parkway, Suite 260
>
> > > > > > Plymouth, MN 55447
>
> > > > > > Direct: 952-697-4123
>
> > > > > > Cell: 612-205-2587
> > > > > > Disclaimer This e-mail and any attachments is confidential and intended
> > > > > > solely for the use of the individual(s) to whom it is addressed. Any views
> > > > > > or opinions presented are solely those of the author and do not necessarily
> > > > > > represent those of Waterstone Capital Management, L.P and affiliates. If you
> > > > > > are not the intended recipient, be advised that you have received this
> > > > > > e-mail in error and that any use, dissemination, printing, forwarding or
> > > > > > copying of this email is strictly prohibited. Please contact the sender if
> > > > > > you have received this e-mail in error. You should also be aware that
> > > > > > e-mails are susceptible to interference and you should not assume that the
> > > > > > contents of this e-mail originated from the sender above or that they have
> > > > > > been accurately reproduced in their original form. Waterstone Capital
> > > > > > Management, L.P. and affiliates accepts no responsibility for information,
> > > > > > or errors or omissions in this e-mail or use or misuse thereof. If in doubt,
> > > > > > please verify the authenticity with the sender.
> > > > > > --
> > > > > >http://mail.python.org/mailman/listinfo/p...
>
> > > > > You are missing an event.wait() after t.auth_password.
> > > > > Also, why are you passing this magic value "15" to event.wait() ? That
> > > > > parameter is passed to class _Verbose to indicate if debug messages
> > > > > should be displayed or not, so typical values would be 0/1 or
> > > > > False/True.
>
> > > > > --
> > > > > -- Guilherme H. Polo Goncalves
>
> > > > --
> > > >http://mail.python.org/mailman/listinfo/p...
>
> > > --
> > > -- Guilherme H. Polo Goncalves
>
> > ok here is the problem... I don't know what is the correct way... The
> > only demos i have from the paramiko library use a hostkeyfile. since i
> > don't have that i thought i would use the get_remote_key to get the
> > key and then connect it using the code in the demo.. But clearly
> > nothing is working...I should not HAVE to use the key since i should
> > be able to authenticate using the password...
>
> > Can you please suggest the right way to go ?
>
> You don't need to use key to authenticate using username and password,
> indeed. And you don't. Your first email was almost correct, you just
> needed to add event.wait() after t.auth_password. It worked here after
> doing that change. You can check out my version:
>
> import sys
> import socket
> import paramiko
> import threading
>
> if len(sys.argv) != 4:
> print "%s hostname user password" % sys.argv[0]
> sys.exit(1)
>
> sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
> sock.connect((sys.argv[1], 22))
>
> t = paramiko.Transport(sock)
> event = threading.Event()
> t.start_client(event)
>
> event.wait()
>
> if not t.is_active():
> print 'SSH negotiation failed.'
> sys.exit(1)
> else:
> print "SSH negotiation sucessful"
>
> event.clear()
> t.auth_password(username=sys.argv[2], password=sys.argv[3], event=event)
> event.wait()
> if not t.is_authenticated():
> print "Authentication failed."
> else:
> print "Authenticated!"
>
> t.close()
>
>
>
> > Thanks for your time !
> > --
> >http://mail.python.org/mailman/listinfo/p...
>
> --
> -- Guilherme H. Polo Goncalves

ok i tried the exact same code and here is the output
SSH negotiation sucessful
Authentication failed.


I am positive that the username and paddword are correct. !

Guilherme Polo

1/16/2008 7:56:00 PM

0

2008/1/16, Tarun Kapoor <tarun.kap@gmail.com>:
> On Jan 16, 12:22 pm, "Guilherme Polo" <ggp...@gmail.com> wrote:
> > 2008/1/16, Tarun Kapoor <tarun....@gmail.com>:
> >
> >
> >
> > > On Jan 16, 11:38 am, "Guilherme Polo" <ggp...@gmail.com> wrote:
> > > > 2008/1/16, Tarun Kapoor <tarun....@gmail.com>:
> >
> > > > > # now, connect and use paramiko Transport to negotiate SSH2 across
> > > > > the connection
> > > > > sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
> > > > > sock.connect((hostname, port))
> >
> > > > > t = paramiko.Transport(sock)
> > > > > t.start_client()
> > > > > key = t.get_remote_server_key()
> >
> > > > > event = threading.Event()
> > > > > t.auth_password(username=username, password=password, event=event)
> > > > > event.wait()
> >
> > > > > if not t.is_authenticated():
> > > > > print "not authenticated"
> >
> > > > > output:
> > > > > not authenticated
> >
> > > > This is a different problem I guess, now you are usin get_remote_server_key.
> > > > And why are you creating event after calling start_client without
> > > > specifying it ?
> >
> > > > > On Jan 16, 11:11 am, "Guilherme Polo" <ggp...@gmail.com> wrote:
> > > > > > 2008/1/16, Tarun Kapoor <tkap...@wscm.net>:
> >
> > > > > > > I am using paramiko to do an SFTP file transfer... I was able to connect to
> > > > > > > the remote server using an SFTP client I have just to make sure that
> > > > > > > username and password are working.. This is the code.
> >
> > > > > > > # now, connect and use paramiko Transport to negotiate SSH2 across the
> > > > > > > connection
> >
> > > > > > > sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
> >
> > > > > > > sock.connect((hostname, port))
> >
> > > > > > > t = paramiko.Transport(sock)
> >
> > > > > > > event = threading.Event()
> >
> > > > > > > t.start_client(event)
> >
> > > > > > > event.wait(15)
> >
> > > > > > > if not t.is_active():
> >
> > > > > > > print 'SSH negotiation failed.'
> >
> > > > > > > sys.exit(1)
> >
> > > > > > > else:
> >
> > > > > > > print "SSH negotiation sucessful"
> >
> > > > > > > event.clear()
> >
> > > > > > > t.auth_password(username=username, password=password,event=event)
> >
> > > > > > > if not t.is_authenticated():
> >
> > > > > > > print "not authenticated"
> >
> > > > > > > output:
> >
> > > > > > > SSH negotiation successful
> >
> > > > > > > not authenticated
> >
> > > > > > > Tarun
> >
> > > > > > > Waterstone Capital Management
> >
> > > > > > > 2 Carlson Parkway, Suite 260
> >
> > > > > > > Plymouth, MN 55447
> >
> > > > > > > Direct: 952-697-4123
> >
> > > > > > > Cell: 612-205-2587
> > > > > > > Disclaimer This e-mail and any attachments is confidential and intended
> > > > > > > solely for the use of the individual(s) to whom it is addressed. Any views
> > > > > > > or opinions presented are solely those of the author and do not necessarily
> > > > > > > represent those of Waterstone Capital Management, L.P and affiliates. If you
> > > > > > > are not the intended recipient, be advised that you have received this
> > > > > > > e-mail in error and that any use, dissemination, printing, forwarding or
> > > > > > > copying of this email is strictly prohibited. Please contact the sender if
> > > > > > > you have received this e-mail in error. You should also be aware that
> > > > > > > e-mails are susceptible to interference and you should not assume that the
> > > > > > > contents of this e-mail originated from the sender above or that they have
> > > > > > > been accurately reproduced in their original form. Waterstone Capital
> > > > > > > Management, L.P. and affiliates accepts no responsibility for information,
> > > > > > > or errors or omissions in this e-mail or use or misuse thereof. If in doubt,
> > > > > > > please verify the authenticity with the sender.
> > > > > > > --
> > > > > > >http://mail.python.org/mailman/listinfo/p...
> >
> > > > > > You are missing an event.wait() after t.auth_password.
> > > > > > Also, why are you passing this magic value "15" to event.wait() ? That
> > > > > > parameter is passed to class _Verbose to indicate if debug messages
> > > > > > should be displayed or not, so typical values would be 0/1 or
> > > > > > False/True.
> >
> > > > > > --
> > > > > > -- Guilherme H. Polo Goncalves
> >
> > > > > --
> > > > >http://mail.python.org/mailman/listinfo/p...
> >
> > > > --
> > > > -- Guilherme H. Polo Goncalves
> >
> > > ok here is the problem... I don't know what is the correct way... The
> > > only demos i have from the paramiko library use a hostkeyfile. since i
> > > don't have that i thought i would use the get_remote_key to get the
> > > key and then connect it using the code in the demo.. But clearly
> > > nothing is working...I should not HAVE to use the key since i should
> > > be able to authenticate using the password...
> >
> > > Can you please suggest the right way to go ?
> >
> > You don't need to use key to authenticate using username and password,
> > indeed. And you don't. Your first email was almost correct, you just
> > needed to add event.wait() after t.auth_password. It worked here after
> > doing that change. You can check out my version:
> >
> > import sys
> > import socket
> > import paramiko
> > import threading
> >
> > if len(sys.argv) != 4:
> > print "%s hostname user password" % sys.argv[0]
> > sys.exit(1)
> >
> > sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
> > sock.connect((sys.argv[1], 22))
> >
> > t = paramiko.Transport(sock)
> > event = threading.Event()
> > t.start_client(event)
> >
> > event.wait()
> >
> > if not t.is_active():
> > print 'SSH negotiation failed.'
> > sys.exit(1)
> > else:
> > print "SSH negotiation sucessful"
> >
> > event.clear()
> > t.auth_password(username=sys.argv[2], password=sys.argv[3], event=event)
> > event.wait()
> > if not t.is_authenticated():
> > print "Authentication failed."
> > else:
> > print "Authenticated!"
> >
> > t.close()
> >
> >
> >
> > > Thanks for your time !
> > > --
> > >http://mail.python.org/mailman/listinfo/p...
> >
> > --
> > -- Guilherme H. Polo Goncalves
>
> ok i tried the exact same code and here is the output
> SSH negotiation sucessful
> Authentication failed.
>
>
> I am positive that the username and paddword are correct. !

I believe paramiko supports only ssh2, so be sure to check if your
server is not running ssh1.

> --
> http://mail.python.org/mailman/listinfo/p...
>


--
-- Guilherme H. Polo Goncalves

Tarun Kapoor

1/16/2008 8:15:00 PM

0

On Jan 16, 1:56 pm, "Guilherme Polo" <ggp...@gmail.com> wrote:
> 2008/1/16, Tarun Kapoor <tarun....@gmail.com>:
>
>
>
> > On Jan 16, 12:22 pm, "Guilherme Polo" <ggp...@gmail.com> wrote:
> > > 2008/1/16, Tarun Kapoor <tarun....@gmail.com>:
>
> > > > On Jan 16, 11:38 am, "Guilherme Polo" <ggp...@gmail.com> wrote:
> > > > > 2008/1/16, Tarun Kapoor <tarun....@gmail.com>:
>
> > > > > > # now, connect and use paramiko Transport to negotiate SSH2 across
> > > > > > the connection
> > > > > > sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
> > > > > > sock.connect((hostname, port))
>
> > > > > > t = paramiko.Transport(sock)
> > > > > > t.start_client()
> > > > > > key = t.get_remote_server_key()
>
> > > > > > event = threading.Event()
> > > > > > t.auth_password(username=username, password=password, event=event)
> > > > > > event.wait()
>
> > > > > > if not t.is_authenticated():
> > > > > > print "not authenticated"
>
> > > > > > output:
> > > > > > not authenticated
>
> > > > > This is a different problem I guess, now you are usin get_remote_server_key.
> > > > > And why are you creating event after calling start_client without
> > > > > specifying it ?
>
> > > > > > On Jan 16, 11:11 am, "Guilherme Polo" <ggp...@gmail.com> wrote:
> > > > > > > 2008/1/16, Tarun Kapoor <tkap...@wscm.net>:
>
> > > > > > > > I am using paramiko to do an SFTP file transfer... I was able to connect to
> > > > > > > > the remote server using an SFTP client I have just to make sure that
> > > > > > > > username and password are working.. This is the code.
>
> > > > > > > > # now, connect and use paramiko Transport to negotiate SSH2 across the
> > > > > > > > connection
>
> > > > > > > > sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
>
> > > > > > > > sock.connect((hostname, port))
>
> > > > > > > > t = paramiko.Transport(sock)
>
> > > > > > > > event = threading.Event()
>
> > > > > > > > t.start_client(event)
>
> > > > > > > > event.wait(15)
>
> > > > > > > > if not t.is_active():
>
> > > > > > > > print 'SSH negotiation failed.'
>
> > > > > > > > sys.exit(1)
>
> > > > > > > > else:
>
> > > > > > > > print "SSH negotiation sucessful"
>
> > > > > > > > event.clear()
>
> > > > > > > > t.auth_password(username=username, password=password,event=event)
>
> > > > > > > > if not t.is_authenticated():
>
> > > > > > > > print "not authenticated"
>
> > > > > > > > output:
>
> > > > > > > > SSH negotiation successful
>
> > > > > > > > not authenticated
>
> > > > > > > > Tarun
>
> > > > > > > > Waterstone Capital Management
>
> > > > > > > > 2 Carlson Parkway, Suite 260
>
> > > > > > > > Plymouth, MN 55447
>
> > > > > > > > Direct: 952-697-4123
>
> > > > > > > > Cell: 612-205-2587
> > > > > > > > Disclaimer This e-mail and any attachments is confidential and intended
> > > > > > > > solely for the use of the individual(s) to whom it is addressed. Any views
> > > > > > > > or opinions presented are solely those of the author and do not necessarily
> > > > > > > > represent those of Waterstone Capital Management, L.P and affiliates. If you
> > > > > > > > are not the intended recipient, be advised that you have received this
> > > > > > > > e-mail in error and that any use, dissemination, printing, forwarding or
> > > > > > > > copying of this email is strictly prohibited. Please contact the sender if
> > > > > > > > you have received this e-mail in error. You should also be aware that
> > > > > > > > e-mails are susceptible to interference and you should not assume that the
> > > > > > > > contents of this e-mail originated from the sender above or that they have
> > > > > > > > been accurately reproduced in their original form. Waterstone Capital
> > > > > > > > Management, L.P. and affiliates accepts no responsibility for information,
> > > > > > > > or errors or omissions in this e-mail or use or misuse thereof. If in doubt,
> > > > > > > > please verify the authenticity with the sender.
> > > > > > > > --
> > > > > > > >http://mail.python.org/mailman/listinfo/p...
>
> > > > > > > You are missing an event.wait() after t.auth_password.
> > > > > > > Also, why are you passing this magic value "15" to event.wait() ? That
> > > > > > > parameter is passed to class _Verbose to indicate if debug messages
> > > > > > > should be displayed or not, so typical values would be 0/1 or
> > > > > > > False/True.
>
> > > > > > > --
> > > > > > > -- Guilherme H. Polo Goncalves
>
> > > > > > --
> > > > > >http://mail.python.org/mailman/listinfo/p...
>
> > > > > --
> > > > > -- Guilherme H. Polo Goncalves
>
> > > > ok here is the problem... I don't know what is the correct way... The
> > > > only demos i have from the paramiko library use a hostkeyfile. since i
> > > > don't have that i thought i would use the get_remote_key to get the
> > > > key and then connect it using the code in the demo.. But clearly
> > > > nothing is working...I should not HAVE to use the key since i should
> > > > be able to authenticate using the password...
>
> > > > Can you please suggest the right way to go ?
>
> > > You don't need to use key to authenticate using username and password,
> > > indeed. And you don't. Your first email was almost correct, you just
> > > needed to add event.wait() after t.auth_password. It worked here after
> > > doing that change. You can check out my version:
>
> > > import sys
> > > import socket
> > > import paramiko
> > > import threading
>
> > > if len(sys.argv) != 4:
> > > print "%s hostname user password" % sys.argv[0]
> > > sys.exit(1)
>
> > > sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
> > > sock.connect((sys.argv[1], 22))
>
> > > t = paramiko.Transport(sock)
> > > event = threading.Event()
> > > t.start_client(event)
>
> > > event.wait()
>
> > > if not t.is_active():
> > > print 'SSH negotiation failed.'
> > > sys.exit(1)
> > > else:
> > > print "SSH negotiation sucessful"
>
> > > event.clear()
> > > t.auth_password(username=sys.argv[2], password=sys.argv[3], event=event)
> > > event.wait()
> > > if not t.is_authenticated():
> > > print "Authentication failed."
> > > else:
> > > print "Authenticated!"
>
> > > t.close()
>
> > > > Thanks for your time !
> > > > --
> > > >http://mail.python.org/mailman/listinfo/p...
>
> > > --
> > > -- Guilherme H. Polo Goncalves
>
> > ok i tried the exact same code and here is the output
> > SSH negotiation sucessful
> > Authentication failed.
>
> > I am positive that the username and paddword are correct. !
>
> I believe paramiko supports only ssh2, so be sure to check if your
> server is not running ssh1.
>
> > --
> >http://mail.python.org/mailman/listinfo/p...
>
> --
> -- Guilherme H. Polo Goncalves


The server is running SSH2.
Can you think of any other ideas to troubleshoot ?

Guilherme Polo

1/16/2008 8:28:00 PM

0

2008/1/16, Tarun Kapoor <tarun.kap@gmail.com>:
> On Jan 16, 1:56 pm, "Guilherme Polo" <ggp...@gmail.com> wrote:
> > 2008/1/16, Tarun Kapoor <tarun....@gmail.com>:
> >
> >
> >
> > > On Jan 16, 12:22 pm, "Guilherme Polo" <ggp...@gmail.com> wrote:
> > > > 2008/1/16, Tarun Kapoor <tarun....@gmail.com>:
> >
> > > > > On Jan 16, 11:38 am, "Guilherme Polo" <ggp...@gmail.com> wrote:
> > > > > > 2008/1/16, Tarun Kapoor <tarun....@gmail.com>:
> >
> > > > > > > # now, connect and use paramiko Transport to negotiate SSH2 across
> > > > > > > the connection
> > > > > > > sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
> > > > > > > sock.connect((hostname, port))
> >
> > > > > > > t = paramiko.Transport(sock)
> > > > > > > t.start_client()
> > > > > > > key = t.get_remote_server_key()
> >
> > > > > > > event = threading.Event()
> > > > > > > t.auth_password(username=username, password=password, event=event)
> > > > > > > event.wait()
> >
> > > > > > > if not t.is_authenticated():
> > > > > > > print "not authenticated"
> >
> > > > > > > output:
> > > > > > > not authenticated
> >
> > > > > > This is a different problem I guess, now you are usin get_remote_server_key.
> > > > > > And why are you creating event after calling start_client without
> > > > > > specifying it ?
> >
> > > > > > > On Jan 16, 11:11 am, "Guilherme Polo" <ggp...@gmail.com> wrote:
> > > > > > > > 2008/1/16, Tarun Kapoor <tkap...@wscm.net>:
> >
> > > > > > > > > I am using paramiko to do an SFTP file transfer... I was able to connect to
> > > > > > > > > the remote server using an SFTP client I have just to make sure that
> > > > > > > > > username and password are working.. This is the code.
> >
> > > > > > > > > # now, connect and use paramiko Transport to negotiate SSH2 across the
> > > > > > > > > connection
> >
> > > > > > > > > sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
> >
> > > > > > > > > sock.connect((hostname, port))
> >
> > > > > > > > > t = paramiko.Transport(sock)
> >
> > > > > > > > > event = threading.Event()
> >
> > > > > > > > > t.start_client(event)
> >
> > > > > > > > > event.wait(15)
> >
> > > > > > > > > if not t.is_active():
> >
> > > > > > > > > print 'SSH negotiation failed.'
> >
> > > > > > > > > sys.exit(1)
> >
> > > > > > > > > else:
> >
> > > > > > > > > print "SSH negotiation sucessful"
> >
> > > > > > > > > event.clear()
> >
> > > > > > > > > t.auth_password(username=username, password=password,event=event)
> >
> > > > > > > > > if not t.is_authenticated():
> >
> > > > > > > > > print "not authenticated"
> >
> > > > > > > > > output:
> >
> > > > > > > > > SSH negotiation successful
> >
> > > > > > > > > not authenticated
> >
> > > > > > > > > Tarun
> >
> > > > > > > > > Waterstone Capital Management
> >
> > > > > > > > > 2 Carlson Parkway, Suite 260
> >
> > > > > > > > > Plymouth, MN 55447
> >
> > > > > > > > > Direct: 952-697-4123
> >
> > > > > > > > > Cell: 612-205-2587
> > > > > > > > > Disclaimer This e-mail and any attachments is confidential and intended
> > > > > > > > > solely for the use of the individual(s) to whom it is addressed. Any views
> > > > > > > > > or opinions presented are solely those of the author and do not necessarily
> > > > > > > > > represent those of Waterstone Capital Management, L.P and affiliates. If you
> > > > > > > > > are not the intended recipient, be advised that you have received this
> > > > > > > > > e-mail in error and that any use, dissemination, printing, forwarding or
> > > > > > > > > copying of this email is strictly prohibited. Please contact the sender if
> > > > > > > > > you have received this e-mail in error. You should also be aware that
> > > > > > > > > e-mails are susceptible to interference and you should not assume that the
> > > > > > > > > contents of this e-mail originated from the sender above or that they have
> > > > > > > > > been accurately reproduced in their original form. Waterstone Capital
> > > > > > > > > Management, L.P. and affiliates accepts no responsibility for information,
> > > > > > > > > or errors or omissions in this e-mail or use or misuse thereof. If in doubt,
> > > > > > > > > please verify the authenticity with the sender.
> > > > > > > > > --
> > > > > > > > >http://mail.python.org/mailman/listinfo/p...
> >
> > > > > > > > You are missing an event.wait() after t.auth_password.
> > > > > > > > Also, why are you passing this magic value "15" to event.wait() ? That
> > > > > > > > parameter is passed to class _Verbose to indicate if debug messages
> > > > > > > > should be displayed or not, so typical values would be 0/1 or
> > > > > > > > False/True.
> >
> > > > > > > > --
> > > > > > > > -- Guilherme H. Polo Goncalves
> >
> > > > > > > --
> > > > > > >http://mail.python.org/mailman/listinfo/p...
> >
> > > > > > --
> > > > > > -- Guilherme H. Polo Goncalves
> >
> > > > > ok here is the problem... I don't know what is the correct way... The
> > > > > only demos i have from the paramiko library use a hostkeyfile. since i
> > > > > don't have that i thought i would use the get_remote_key to get the
> > > > > key and then connect it using the code in the demo.. But clearly
> > > > > nothing is working...I should not HAVE to use the key since i should
> > > > > be able to authenticate using the password...
> >
> > > > > Can you please suggest the right way to go ?
> >
> > > > You don't need to use key to authenticate using username and password,
> > > > indeed. And you don't. Your first email was almost correct, you just
> > > > needed to add event.wait() after t.auth_password. It worked here after
> > > > doing that change. You can check out my version:
> >
> > > > import sys
> > > > import socket
> > > > import paramiko
> > > > import threading
> >
> > > > if len(sys.argv) != 4:
> > > > print "%s hostname user password" % sys.argv[0]
> > > > sys.exit(1)
> >
> > > > sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
> > > > sock.connect((sys.argv[1], 22))
> >
> > > > t = paramiko.Transport(sock)
> > > > event = threading.Event()
> > > > t.start_client(event)
> >
> > > > event.wait()
> >
> > > > if not t.is_active():
> > > > print 'SSH negotiation failed.'
> > > > sys.exit(1)
> > > > else:
> > > > print "SSH negotiation sucessful"
> >
> > > > event.clear()
> > > > t.auth_password(username=sys.argv[2], password=sys.argv[3], event=event)
> > > > event.wait()
> > > > if not t.is_authenticated():
> > > > print "Authentication failed."
> > > > else:
> > > > print "Authenticated!"
> >
> > > > t.close()
> >
> > > > > Thanks for your time !
> > > > > --
> > > > >http://mail.python.org/mailman/listinfo/p...
> >
> > > > --
> > > > -- Guilherme H. Polo Goncalves
> >
> > > ok i tried the exact same code and here is the output
> > > SSH negotiation sucessful
> > > Authentication failed.
> >
> > > I am positive that the username and paddword are correct. !
> >
> > I believe paramiko supports only ssh2, so be sure to check if your
> > server is not running ssh1.
> >
> > > --
> > >http://mail.python.org/mailman/listinfo/p...
> >
> > --
> > -- Guilherme H. Polo Goncalves
>
>
> The server is running SSH2.
> Can you think of any other ideas to troubleshoot ?
>
> --
> http://mail.python.org/mailman/listinfo/p...
>

Take a look at ssh server log would be my next idea.

--
-- Guilherme H. Polo Goncalves