Как подключится к ssh с помощью C# без использования сторонних библиотек? Нужно просто подключится по ssh к серверу и выполнить команду. Использование сторонних библиотек запрещено системой. Есть ли нативный способ для этого?
Самый лучший вариант этот просто использовать plink из пакета putty.
Пример кода подключения ssh и получение списка баз данных mysql
class Program
{
static void Main(string[] args)
{
Process plink = new Process();
plink.StartInfo.CreateNoWindow = false;
plink.StartInfo.UseShellExecute = false;
plink.StartInfo.ErrorDialog = false;
plink.StartInfo.RedirectStandardOutput = true;
plink.StartInfo.RedirectStandardInput = true;
plink.StartInfo.RedirectStandardError = true;
plink.EnableRaisingEvents = true;
string ipAddr = "";
string userLogin = "";
string userPass = "";
plink.StartInfo.Arguments = string.Format("-ssh {0} -l {1} -pw {2}", ipAddr, userLogin, userPass);
plink.StartInfo.FileName = "C:\\Program Files\\PuTTY\\plink.exe";
plink.Start();
ReadStream(plink.StandardOutput);
ReadStream(plink.StandardError);
string MysqlUser = "";
string MysqlPass = "";
plink.StandardInput.WriteLine(string.Format("mysql -u {0} -p\"{1}\"", MysqlUser, MysqlPass));
plink.StandardInput.WriteLine("show databases;");
plink.StandardInput.WriteLine("exit;");
plink.StandardInput.Close();
}
private static void ReadStream(StreamReader reader)
{
new Thread(() =>
{
while (true)
{
int current;
while ((current = reader.Read()) >= 0)
Console.Write((char)current);
}
}).Start();
}
}
Использование сторонних библиотек запрещено системой. Есть ли нативный способ для этого?
Нет.
SSH - это технология для удалённого взаимодействия из мира *nix. А, .NET стал кроссплатформенным сравнительно недавно и многое в нём ещё не поддерживается из коробки.
Поэтому без дополнительных библиотек (например, SSH.NET) не обойтись.
Альтернативный вариант. Взять консольный SSHrkbtyn (например plink из пакета putty) и попробовать запустить его в туннельном режиме. Но, это всё равно не коробочный вариант.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Возможно ли используя C# преобразовать/трансформировать xsd файл к промежуточному виду? Под промежуточным видом имеется ввиду например удаление...
Подскажите пожалуйста, можно ли как-то объединить тесты, что бы несколько тестов запускали 1 метод и дожидались его выполненияСуть такая:...