J'essaie de construire dans un transfert de port SSH dans une application .NET que j'écris. p>
J'ai essayé d'utiliser SharpsSh , mais il faut que l'utilisateur entrait leur mot de passe à chaque fois, et je ne le veux pas. Je vais gérer le stockage du mot de passe. P>
J'ai téléchargé granados , mais il y a essentiellement zéro documentation pour cela. Comment puis-je accomplir un transfert de port avec des granados ou une autre autre forte> bibliothèque SSH gratuite pour .NET? P>
5 Réponses :
Si vous configurez une touche DSA sur le serveur SSH à distance, vous pouvez enregistrer une clé pour l'utilisateur (faites-le comme une chose unique), puis enregistrez la touche sur le serveur en tant qu'utilisateur autorisé. P >
Utiliser des clés est beaucoup dangereux pour les connecteurs inversés et l'empreinte digitale
Ces alternatives C # sont dérivées de Java JSCH : P>
the grenados page produit liens vers le Poderosa projet qui inclut un Plugin PortForwarding . code source pour le ConnectManager.cs Les fichiers doivent être appliqués Transfert de port. Voir cette réponse pour une recommandation . P>
NSCH semble être un joyau caché au sein de Monodevelop's Ngit ; C'est principalement automatiquement converti ( Recherche complémentaire en févr. 2011 par Krzysztof Kowalczyk de Sumatra PDF. P>
Le La bibliothèque SSH.NET est un moyen simple d'y parvenir:
Ceci est vieux et je n'ai peut-être pas une réponse, mais c'est Client.net le serveur exécutant le serveur SSH? Que serait à distance.net? Toute demande à localhost: 1000 sera envoyée à client.net qui transmettra ensuite la demande à distance.net:80? Est-ce correct? Ou allez-vous aller directement à distance.net de mon localhost?
Oui, Client.net est le serveur SSH. Remote.Net:80 est l'ordinateur que vous souhaitez connecter via le tunnel SSH. Comme vous l'énoncez, toute demande à localhost: 10000 sera envoyée à client.net via SSH qui transmettra ensuite la demande à distance.net:80. Par conséquent, il n'y a pas de connexion directe entre Localhost et Remote.Net.
En fait, ce code ne fonctionne pas, pour une raison quelconque, SSH.Net ne résout pas correctement localhost correctement, 127.0.0.1 semble fonctionner correctement; pensais que cela a dû faire avec ma configuration réseau, de toute façon utiliser localhost n'est pas robuste ici
Y a-t-il un tutoriel sur la manière de configurer le serveur .NET SSH?
J'essaie d'obtenir ce travail, et on dirait que vous pouvez laisser le localhost code> hors du port
transfert de l'appel - l'inconvénient est que toute IP peut alors se connecter à la SSH Server sur le port 10000 et il sera transféré à
à distance.net:80 code>. Si ce n'est pas un problème de sécurité dans votre cas, vous allez bien - sinon vous devez comprendre votre nom d'hôte ou votre adresse d'hôte locale et mettre cela au lieu de localhost.
Voici une méthode sans promouvoir aucun de ces paramètres : code> (transfert de port entièrement automatisé) strong> en utilisant SharpsSH
Bien que mal documenté - ou au moins la documentation qui me échappe - cela semble pouvoir gérer les connexions SSH, y compris les transferts de fichiers et le transfert de port: https://github.com/sshnet/ssh.net p>