ssh Verbindung Softwareliste auslesen

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
zimbo
User
Beiträge: 16
Registriert: Dienstag 6. Dezember 2011, 17:38

Hi

ich muss über eine ssh verbindung die installierte software auslesen (bei Windows, Linux, Mac),
bin bei meiner Sucher auf paramiko gestoßen
hab alles eingerichtet jetzt wollte ich die demo_simple testen aber bekomme einen Fehler

Code: Alles auswählen

*** Connecting...
*** Caught exception: <type 'exceptions.TypeError'>: unbound method missing_host_key() must be called with WarningPolicy instance as first argument (got SSHClient instance instead)
hab ein bissl gesucht und ne angeblich Lösung gefunden die mir dann ein Warning ausgibt bei dem ich aber auch nicht weiter komme.

Code: Alles auswählen

UserWarning: Unknown ssh-rsa host key for 192.168.178.25: 7028307c7f9bd24f6e85663bec858075
Danke im vorraus :D
Benutzeravatar
fecub
User
Beiträge: 24
Registriert: Freitag 14. November 2008, 16:53
Kontaktdaten:

welches betriebssystem benutzt du?

wenn es linux ist, die known host mal removen,

Code: Alles auswählen

rm .ssh/known_hosts
sonst würde ich dir diese anleitung empfehlen
http://jessenoller.com/2009/02/05/ssh-p ... different/
zimbo
User
Beiträge: 16
Registriert: Dienstag 6. Dezember 2011, 17:38

Hi benutze Win 7 mit OpenSSH

mit Putty kann ich mich mit den SSH Server verbinden.
wo wird denn die Knowsn_hoste bei windows gespeichert?
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

the more they change the more they stay the same
zimbo
User
Beiträge: 16
Registriert: Dienstag 6. Dezember 2011, 17:38

Dav1d hat geschrieben:http://superuser.com/questions/197489/w ... on-windows Google nanana...
Es geht hier aber um die known hosts von paramiko mit windows, putty funktioniert ja also werden die known hosts ja in ordnung sein.
Benutzeravatar
fecub
User
Beiträge: 24
Registriert: Freitag 14. November 2008, 16:53
Kontaktdaten:

@zimbo
poste mal bitte deinen code !
zimbo
User
Beiträge: 16
Registriert: Dienstag 6. Dezember 2011, 17:38

hi das die originale demo_symple von paramiko die ich benutze.

Code: Alles auswählen


import base64
import getpass
import os
import socket
import sys
import traceback

import paramiko
import interactive


# setup logging
paramiko.util.log_to_file('demo_simple.log')

# get hostname
username = ''
if len(sys.argv) > 1:
    hostname = sys.argv[1]
    if hostname.find('@') >= 0:
        username, hostname = hostname.split('@')
else:
    hostname = raw_input('Hostname: ')
if len(hostname) == 0:
    print '*** Hostname required.'
    sys.exit(1)
port = 22
if hostname.find(':') >= 0:
    hostname, portstr = hostname.split(':')
    port = int(portstr)


# get username
if username == '':
    default_username = getpass.getuser()
    username = raw_input('Username [%s]: ' % default_username)
    if len(username) == 0:
        username = default_username
password = getpass.getpass('Password for %s@%s: ' % (username, hostname))


# now, connect and use paramiko Client to negotiate SSH2 across the connection
try:
    client = paramiko.SSHClient()
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    client.load_system_host_keys()
    client.set_missing_host_key_policy(paramiko.WarningPolicy())
    print '*** Connecting...'
    client.connect(hostname, port, username, password)
    chan = client.invoke_shell()
    print repr(client.get_transport())
    print '*** Here we go!'
    print
    interactive.interactive_shell(chan)
    chan.close()
    client.close()

except Exception, e:
    print '*** Caught exception: %s: %s' % (e.__class__, e)
    traceback.print_exc()
    try:
        client.close()
    except:
        pass
    sys.exit(1)

Antworten