Forum >> Programmazione Python >> Web e Reti >> client ssh ptoblema di timeout

Pagina: 1

Ciao a tutti,
da un qualche mese ho imparato come autodidatta a scrivere
qualche programma in Python. Li uso per automatizzarmi il lavoro su un server
dal quale accedo ad altri apparati su cui automatizzo i controlli e le
configurazioni(su migliaia di macchine). Purtroppo sul server non posso
istallare moduli. Comunque in generale se riesco a fare da me lo preferisco. Di recente stanno implementando ssh(io prima
usavo telnet per connettermi). Ho provato un programma abbozzato per testare la
connessione ssh, ma niente, dopo varie prove variando il protocollo sembra
partire per poi andare in timeout:
socket.timeout: _ssl.c:629: The handshake operation timed out


Ringrazio chiunque mi dia il suo parere o mi indichi un esempio di un semplice client ssh che non usi librerie esterne come paramiko, ecc.

import socket, ssl
# variabile
user = "zzasu11\n"
IP = '10.188.44.22'
Porta = 22
# costruisco il socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout(30)
# Usiamo ssl 
wrappedSocket = ssl.wrap_socket(s, ssl_version=ssl.PROTOCOL SSLv2)
                                
# Colleghiamoci indicando ip e porta
wrappedSocket.connect((IP, Porta))
# stampiamo quello che riceviamo
print (wrappedSocket.recv(1280))
# inviamo l'user
wrappedSocket.send(user)
# Chiudiamo la sessione
wrappedSocket.close()



--- Ultima modifica di Alessandro Suraci in data 2016-03-21 19:35:03 ---
Alessandro Suraci said @ 2016-03-21 19:28:08:
Ringrazio chiunque mi dia il suo parere o mi indichi un esempio di un semplice client ssh che non usi librerie esterne come paramiko, ecc.
Prova Plumbum. Non ha dipendenze, e non necessita di installazione alcuna.

Semplicemente estrai dall'archivio la directory plumbum sul tuo server, nel punto dove intendi mettere i tuoi script, e da li puoi fare:
miron@hop:/tmp
$ python
Python 2.7.10 (default, Oct 14 2015, 16:09:02) 
[GCC 5.2.1 20151010] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from plumbum import SshMachine
>>> remote = SshMachine("shell.develer.com", user = "C8E", keyfile = "~/.ssh/id_rsa")
>>> r_ls = remote["ls"]
>>> r_ls()
u'Documents\nMaildir\nmemo\npcre2-10.20.tar.bz2\nPrivate\nprivate_git\npublic_git\npublic_html\nwelcome\n'
Happy hackin'




THE 🍺-WARE LICENSE (Revision ㊷):
<carlo@🐍.it> wrote this post. As long as you retain this notice you
can do whatever you want with this stuff. If we meet some day, and you
think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝


Pagina: 1



Esegui il login per scrivere una risposta.