ip.ToString()
возвращает имя типа, System.Net.IPHostEntry
. Ваш SftpClient
затем пытается найти System.Net.IPHostEntry
в DNS и ничего не находит, таким образом, исключение.
Я не знаком с конструкторами, предоставленными SftpClient
, но, вероятно, вам нужно сделать что-то вроде:
using (SftpClient client = new SftpClient(ip.AddressList, Port, User, Password))