Re: [python] ssh klient pro python

2012-08-12 Tema obsahu azurIt
Zalezi od pouzitej licencie, minimalne to ale nie je velmi eticke.

azur



__
> Od: "Michal Molhanec" 
> Komu: Konference PyCZ 
> Dátum: 12.08.2012 18:46
> Predmet: Re: [python] ssh klient pro python
>
>Dne 12.8.2012 15:05, Petr Messner napsal(a):
>> A nebo se podívat na modul ssh, který právě fabric používá a je to
>> fork paramika.
>> 
>> http://pypi.python.org/pypi/ssh/
>> 
>> https://github.com/fabric/fabric/issues/275
>
>Wow, tohle
>https://github.com/bitprophet/ssh/commit/e37f0b57bd1cef9739c8c870bc954941b9fc4453
>je legalni? Me to prijde jako pekna prasarna.
>
>
>-- 
>Zdraví,
>Michal Molhanec
>___
>Python mailing list
>Python@py.cz
>http://www.py.cz/mailman/listinfo/python
>
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] ssh klient pro python

2012-08-12 Tema obsahu Michal Molhanec
Dne 12.8.2012 15:05, Petr Messner napsal(a):
> A nebo se podívat na modul ssh, který právě fabric používá a je to
> fork paramika.
> 
> http://pypi.python.org/pypi/ssh/
> 
> https://github.com/fabric/fabric/issues/275

Wow, tohle
https://github.com/bitprophet/ssh/commit/e37f0b57bd1cef9739c8c870bc954941b9fc4453
je legalni? Me to prijde jako pekna prasarna.


-- 
Zdraví,
Michal Molhanec
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] ssh klient pro python

2012-08-12 Tema obsahu Matej Cepl

On 12/08/12 15:05, Petr Messner wrote:

A nebo se podívat na modul ssh, který právě fabric používá a je to
fork paramika.

http://pypi.python.org/pypi/ssh/


Snažím se akorát likvidovat všechny stopy Paramika a python-crypto ve 
Fedoře ... používejte raději bindings na skutečné binární knihovny, a ne 
Pythonní reimplementace, které přímo provokují k špatné aplikaci. Tedy, 
nemám s nima osobní zkušenosti, ale raději bych zkusil 
http://pypi.python.org/pypi/pylibssh2/1.0.1 nebo 
http://pypi.python.org/pypi/openssh-wrapper/0.3.2 nebo něco poodbného, 
co používá opravdové ssh knihovny.


Matěj

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] ssh klient pro python

2012-08-12 Tema obsahu Petr Messner
A nebo se podívat na modul ssh, který právě fabric používá a je to
fork paramika.

http://pypi.python.org/pypi/ssh/

https://github.com/fabric/fabric/issues/275

PM
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] ssh klient pro python

2012-08-12 Tema obsahu Visgean Skeloru
Ahoj, vím že na SSH - hlavně na správu serverů se hodně používá
http://fabfile.org/ , možná bvy to fungovalo lépe

2012/8/12 "Ing. Vladislav Ludík" 

> Zdravím všechny,
>
> narazil jsem na problém, který se týká nespolehlivého ssh klienta z modulu
> paramiko.
>
> Když pomocí něj čtu data například z některých verzí Mikrotiku,
> například MikroTik RouterOS 5.17, stane se občas, že nedostanu kompletní
> data.
> Někdy načte vše, někdy jen něco. Jak kdy.
> Pokud se připojím přes PuTTy, je přenos vždy spolehlivý.
> Můj modul, který pak používám v mých programech je v příloze.
> Neví někdo kde bych měl hledat problém, popřípadě o spolehlivějším
> klientovi ?
>
> Děkuji V.L.
>
> """Modul pro zadavani prikazu pres ssh"""
>
> import paramiko
> import cmd
> import string
>
> class RunCommand(cmd.Cmd):
> """ Jednoduchy shell pro zadavani prikazu na adresu host """
>
> prompt = 'ssh > '
>
> def __init__(self):
> cmd.Cmd.__init__(self)
> self.hosts = []
> self.connections = []
>
> def do_add_host(self, args):
> """add_host 
> Prida adresu host do seznamu """
> if args:
> self.hosts.append(args.split(','))
> else:
> print "pouziti: host "
>
> def do_connect(self, args):
> """ Pripoji se ke vsem adresam host ze seznamu """
> for host in self.hosts:
> ipcko, user, pswd, port = host
> user = string.strip(user)
> pswd = string.strip(pswd)
> port = int(string.strip(port))
>
> client = paramiko.SSHClient()
> client.set_missing_host_key_policy(
> paramiko.AutoAddPolicy())
> client.connect(ipcko,
> username=user,
> password=pswd,
> port=port)
> self.connections.append(client)
>
> def do_run(self, command):
> """run 
> Provede tento prikaz pro vsechny pripojene adresy ze
> seznamu """
> if command:
> for host, conn in zip(self.hosts,
> self.connections):
> stdin, stdout, stderr =
> conn.exec_command(command)
> out = stdout.read()
> err = stderr.read()
> stdout.close()
> stderr.close()
> return out, err
> else:
> print "pouziti: run "
>
> def do_close(self, args):
> for conn in self.connections:
> conn.close()
>
> #!/usr/bin/python
> # -*- coding: utf-8 -*-
>
> from ssh import *
>
> def doSSH(host, cmd, user=_user, pswd=_pswd, port=_port):
> 'Provedeni prikazu SSH'
>
> con = ['%s,%s,%s,%s' % (host, user, pswd, port)]
> ssh = RunCommand()
> ssh.do_add_host(con[0])
> ssh.do_connect(con)
> stdout, stderr = ssh.do_run(cmd)
> ssh.do_close(con)
>
> return stdout, stderr
>
> # atd.
> ___
> Python mailing list
> Python@py.cz
> http://www.py.cz/mailman/listinfo/python
>



-- 
GPG pub 
key
 | github/visgean  | jabber 
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

[python] ssh klient pro python

2012-08-12 Tema obsahu Ing. Vladislav Ludík

Zdravím všechny,

narazil jsem na problém, který se týká nespolehlivého ssh klienta z 
modulu paramiko.


Když pomocí něj čtu data například z některých verzí Mikrotiku,
například MikroTik RouterOS 5.17, stane se občas, že nedostanu kompletní 
data.

Někdy načte vše, někdy jen něco. Jak kdy.
Pokud se připojím přes PuTTy, je přenos vždy spolehlivý.
Můj modul, který pak používám v mých programech je v příloze.
Neví někdo kde bych měl hledat problém, popřípadě o spolehlivějším 
klientovi ?


Děkuji V.L.
"""Modul pro zadavani prikazu pres ssh"""
 
import paramiko
import cmd
import string

class RunCommand(cmd.Cmd):
""" Jednoduchy shell pro zadavani prikazu na adresu host """

prompt = 'ssh > '

def __init__(self):
cmd.Cmd.__init__(self)
self.hosts = []
self.connections = []

def do_add_host(self, args):
"""add_host 
Prida adresu host do seznamu """
if args:
self.hosts.append(args.split(','))
else:
print "pouziti: host "

def do_connect(self, args):
""" Pripoji se ke vsem adresam host ze seznamu """
for host in self.hosts:
ipcko, user, pswd, port = host
user = string.strip(user)
pswd = string.strip(pswd)
port = int(string.strip(port))

client = paramiko.SSHClient()
client.set_missing_host_key_policy(
paramiko.AutoAddPolicy())
client.connect(ipcko,
username=user,
password=pswd,
port=port)
self.connections.append(client)

def do_run(self, command):
"""run 
Provede tento prikaz pro vsechny pripojene adresy ze seznamu """
if command:
for host, conn in zip(self.hosts, self.connections):
stdin, stdout, stderr = 
conn.exec_command(command)
out = stdout.read()
err = stderr.read()
stdout.close()
stderr.close()
return out, err
else:
print "pouziti: run "

def do_close(self, args):
for conn in self.connections:
conn.close()
#!/usr/bin/python
# -*- coding: utf-8 -*-

from ssh import *

def doSSH(host, cmd, user=_user, pswd=_pswd, port=_port):
'Provedeni prikazu SSH'

con = ['%s,%s,%s,%s' % (host, user, pswd, port)]
ssh = RunCommand()
ssh.do_add_host(con[0])
ssh.do_connect(con)
stdout, stderr = ssh.do_run(cmd)
ssh.do_close(con)

return stdout, stderr

# atd.___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python