Comment se connecter à mysql à partir de C # sur SSH

Comment puis-je me connecter à une firebase database mysql via C #,

Ceci est ma chaîne de connexion maintenant:

connectionSsortingng="server=localhost;port=3306;user id=root;Password=*****;database=Data" providerName="MySql.Data.MySqlClient" 

Comment mettre une chaîne SSH dans ce formulaire car il doit ressembler à quelque chose comme:

Nom d’hôte SSH, nom d’utilisateur SSH, mot de passe SSH, nom d’hôte Mysql, nom d’utilisateur Mysql, mot de passe Mysql, port

Je ne pense pas que MySql et MySqlClient soutiennent une telle chose. La chaîne de connexion est spécifiquement pour la firebase database. Vous aurez besoin d’un client SSH pour vous connecter d’abord au serveur SSH, puis pour trouver un moyen d’acheminer la connexion SQL via ce tunnel.

http://www.howtogeek.com/howto/ubuntu/access-your-mysql-server-remotely-over-ssh/

Je ne pense pas qu’il existe une bibliothèque Microsoft .Net pour gérer les connexions SSH, mais il existe un projet open source sur Code Plex qui pourrait aider.

http://sshnet.codeplex.com/

 PasswordConnectionInfo connectionInfo = new PasswordConnectionInfo(hostAdres, hostNaam, wachtwoord); connectionInfo.Timeout = TimeSpan.FromSeconds(30); client = new SshClient( connectionInfo); client.Connect(); ForwardedPortLocal portFwld = new ForwardedPortLocal ("127.0.0.1", Convert.ToUInt32(hostpoort), DataBaseServer, Convert.ToUInt32(remotepoort)); client.AddForwardedPort(portFwld); portFwld.Start(); // using Renci.sshNet connection = new MySqlConnection("server = " + "127.0.0.1" + "; Database = database; password = PWD; UID = yourname; Port = 22"); connection.Open(); 

Vous ne pouvez pas spécifier un proxy SSH ou des informations d’identification SSH dans la chaîne de connexion. Vous devez d’abord établir la connexion SSH, puis utiliser une chaîne de connexion standard, comme celle que vous avez dans votre question.

Pour établir une connexion SSH via C #, vous pouvez utiliser une bibliothèque telle que sharpSsh .