Grüß Euch,
habe ich eine Möglichkeit mit c# den SshHostKey bei der ersten Verbindung autom. zu beziehen? Bei Dem Beispiel scheiter ich jetzt mit der Fehlermeldung,
dass der Host Key nicht vorhanden ist. Wenn ich mich mit winscp.exe verbinde erhalte ich einen Key, welche ich unter SshHostKey = eintrage. Anschließen
funktioniert die Verbidnung.
Kann das winscp.exe im Hintergrund ausführen und den generierten Key lesen?
Beispiel:
try
{
// Setup session options
SessionOptions sessionOptions = new SessionOptions
{
Protocol = Protocol.Sftp,
HostName = "testserver",
UserName = "root",
Password = "123456",
SshHostKey = "ssh-rsa 4711 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"
};
using (Session session = new Session())
{
// Connect
session.DisableVersionCheck = true;
session.Open(sessionOptions);
// Upload files
TransferOptions transferOptions = new TransferOptions();
transferOptions.TransferMode = TransferMode.Binary;
TransferOperationResult transferResult;
transferResult = session.PutFiles(@"d:\toupload\*", "/tmp/", false, transferOptions);
// Throw on any error
transferResult.Check();
// Print results
foreach (TransferEventArgs transfer in transferResult.Transfers)
{
Console.WriteLine("Upload of {0} succeeded", transfer.FileName);
}
}
}
catch (Exception e)
{
Console.WriteLine("Error: {0}", e);
}Vielen Dank
lg
Ww
SwoSoft & Partner- WiWa -