2011-11-11 4 views

Répondre

1

Il suffit de créer un tunnel TCP via SSH et de relayer toutes les données par là, pas besoin de réinventer la roue. Vous pouvez trouver des exemples dans des documents SSH sous tunnel TCP (man ssh par exemple).

Mais si vous voulez vraiment le réécrire, consultez le projet paramiko.

1

Bien que Telnet ne soit pas sécurisé, il s'agit essentiellement d'une console série sur un réseau, ce qui facilite le codage. SSH est beaucoup, beaucoup plus complexe. Il y a le cryptage, l'authentification, la négociation, etc. à faire. Et c'est très facile de se tromper de façon spectaculaire.

Il n'y a rien de mal avec Telnet en soi, mais si vous pouvez changer les choses sur le réseau - et ce n'est pas un réseau privé - vous vous ouvrez des ennuis.

En supposant que cela fonctionne sur un ordinateur, pourquoi ne pas restreindre le serveur à localhost? Puis ssh dans l'ordinateur et telnet à localhost? Toute la sécurité avec un minimum de tracas.

+0

I telnet à un BBS. Les gens utilisent généralement telnet se connectant à ce BBS. J'écris un robot pour communiquer avec lui. Donc ce n'est pas local. –

+0

Oh, je pensais que c'était un serveur telnet *. Si c'est un client, vous n'avez pas d'autre choix que d'utiliser le protocole qu'ils supportent. Oui, votre mot de passe serait visible de cette façon, mais il n'y a rien à faire à ce sujet. – Robert

+0

Mais le serveur supporte aussi ssh. Je pense que ce sera OK pour la plupart des gens utilisent telnet pour le connecter, et le serveur lui-même n'est pas si sécurisé. –

1

Utilisez l'une de ces bibliothèques dans votre application Python pour parler au démon sshd sur le serveur:

http://wiki.python.org/moin/SecureShell

Vous aurez envie de regarder quelque chose qui vous aidera à mettre en place SSHD dans un endroit sûr de manière à ceci:

http://www.linuxjournal.com/article/8759

vous devrez également veiller à ce que vous mettez à jour le démon SSHD régulièrement et utiliser des clés et des mots de passe forts, rotation. Tout ceci devrait être standard pour une application telnet aussi, mais en raison du manque de cryptage au niveau du transport, vous ne devriez vraiment pas utiliser telnet pour quoi que ce soit.