Ich möchte in der Lage sein, Daten über Tor zu senden, wenn ich SSH aus Python-Skripten verwenden. Tor funktioniert wie erwartet, wenn ich einen OpenSSH-Client verwende, um den Host manuell mit ssh zu verbinden. Das ist meine SSH-Konfigurationsdatei. Ich benutze connect-Proxy mit Proxycommand zu routen die Verbindungen über Tor (wieder, das funktioniert gut über einen Standard-OpenSSH-Client):Python ssh mit Tor-Proxy
host host
user user
hostname host.domain.com
CheckHostIP no
Compression yes
Protocol 2
ProxyCommand connect-proxy -S localhost:9050 %h %p
ich diese Python-Testskript haben:
import paraproxy
import paramiko
conf = paramiko.SSHConfig()
conf.parse(open('/home/user/.ssh/config'))
host = conf.lookup('host')
print host
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(host["hostname"], username=host["user"], password='test')
client.close()
Dieses Skript tut ssh an den Host, verwendet jedoch nicht den ProxyCommand in der ssh-config-Datei, so dass Traffic nicht durch Tor geleitet wird. Ich habe ein paar verschiedene Konfigurationen ausprobiert, aber ich kann es nicht funktionieren lassen. Irgendwelche Ideen, wie das funktioniert?
Haben Sie tatsächlich versucht, diesen Code auszuführen? Hat es funktioniert, als du es ausprobiert hast? –
Ja. Aber ich poxying über ssh: 'ProxyCommand ssh [email protected] nc% h% p' – twil
Das funktioniert. Ich habe den Teil über das Fehlen von Paraproxy verpasst. Es funktioniert nicht mit dem importierten. Ich habe versucht, dich zu überreden, aber ich habe dich versehentlich abgelehnt. Aber ich akzeptiere diese Antwort. Vielen Dank. –