J'essaie d'exécuter une commande UNIX sur un hôte distant à partir de mon application C#.En C# comment exécuter la commande unix sur le SSH distant à l'aide de TcpClient
J'ai vu divers post sur internet, y compris SO pour ce faire en utilisant diverses bibliothèques comme SmartSsh beaucoup d'autres. Et d'autres utilisant des commandes en ligne de commande.
Je ne souhaite utiliser aucune bibliothèque tierce.
J'ai donc essayé d'utiliser la classe TcpClient avec l'exemple montré ici sur MSDN. Je passe le nom d'hôte en tant que: utilisateur @ servername et le port . Quand je lance ce code, il trows une exception
SocketException (0x80004005): No such host is known
at System.Net.Sockets.TcpClient..ctor(String hostname, Int32 port)
Est-ce parce que mon serveur/hôte attendre un mot de passe pour l'utilisateur, si oui, alors comment puis-je fournir cela?
J'ai essayé de rechercher des questions existantes comme ceci, mais je n'ai pas pu atteindre à droite. S'il s'agit d'un doublon, veuillez me rediriger vers l'endroit correct. Merci. – Maheep
Une socket ne concerne qu'une connexion, voyez-la comme si vous appeliez une personne par téléphone. Le socket s'assure que vous avez une connexion avec l'autre personne mais vous avez toujours besoin d'une langue (protocole) pour communiquer. Au téléphone, c'est un langage commun. Lorsque vous voulez exécuter des commandes Unix, vous avez également besoin d'une langue que vous et la cible comprenez. SSH, port 22. SSH définit également l'authentification, donc vous devez implémenter le protocole SSH ou mieux, utilisez une bibliothèque de 3ème partie pour le faire pour vous – Polity
@Polity: Merci pour cette bonne explication de ce que j'étais manquant et cela aussi dans le langage le plus simple. – Maheep