#c# #linux
#c# #linux
Вопрос:
Я пытаюсь подключиться к удаленной машине Linux, используя имя хоста, это не удается (но я могу подключиться с помощью Ipaddress), используя Shrp SSH в качестве интерфейса. вот мой пример кода
public void ConnectToLinuxParttion()
{
string username = "aaaa";
string password = "aaaa";
string partionName = Lmac;
try
{
SshExec exec = new SshExec(partionName,username,password);
exec.Connect();
Console.WriteLine("OK");
exec.Close();
}
catch (Exception ex)
{
Console.WriteLine("The Reason for Not Connecting is " ex.ToString());
}
}
ошибки, которые я получаю, следующие:
Причина отсутствия подключения — Tamir.SharpSSH.jsch.Исключение JSchException: System.Net.Sockets.Исключение SocketException (0x80004005): запрошенное имя допустимо и было найдено в базе данных, но у него нет правильных связанных данных, которые разрешаются для System.Net.Dns.InternalGetHostByName (строковое имя хоста, логическое значение includeIPv6) в
System.Net.Dns.GetHostByName(строковое имя хоста) в
Tamir.SharpSSH.java.net.Socket..ctor (строка host, порт Int32) в
Tamir.SharpSSH.jsch.Util.createSocket(строка host, порт Int32, тайм-аут Int32) в
Tamir.SharpSSH.jsch.Session.connect(Int32 ConnectTimeout) в
Tamir.SharpSSH.jsch.Session.connect() на
Tamir.SharpSSH.SshBase.ConnectSession (tcpPort Int32) в
Tamir.SharpSSH.SshBase.Подключитесь (tcpPort Int32) по адресу
Tamir.SharpSSH.SshBase.Connect()
Пожалуйста, помогите с этим, заранее спасибо
Это сработало нормально, когда мы установили Bonjour Service на наши компьютеры и AVahi на машинах Linux add.Local partionName они будут работать только в том же адресе подсети, иначе это не сработает.
Комментарии:
1. Хей Андерс, вы когда-нибудь решали эту проблему? Я тоже испытываю это.
2. Да, я смог решить эту проблему. пожалуйста, посмотрите мой ответ.