Saya mencoba menggunakan perakitan WinSCP untuk mengunggah ke server FTP kami. Kami memiliki kunci pribadi umum yang disimpan di DB kami yang kami ambil dan gunakan untuk otentikasi (saat ini berfungsi untuk unggahan Java kami menggunakan JSch
). Namun WinSCP memerlukan nama jalur file.
Saya mencoba menulis kunci pribadi kami ke file untuk diambil WinSCP untuk otentikasi tetapi saya mendapatkan kesalahan berikut:
"C:\[..path..].\key.txt (bukan format file kunci yang dikenali)"
Kode Unggah:
String host = token.hostName;
String user = token.userID;
String sshKey = token.sshKey;
//write key to temp file
String keyFile = AppDomain.CurrentDomain.BaseDirectory+@".\key.txt";
FileStream temp = new FileStream(keyFile, FileMode.Create);
temp.Write(Encoding.ASCII.GetBytes(sshKey), 0 , 0);
temp.Close();
try {
// Setup session options
SessionOptions sessionOptions = new SessionOptions {
Protocol = Protocol.Sftp,
HostName = host,
UserName = user,
SshPrivateKeyPath = keyFile,
GiveUpSecurityAndAcceptAnySshHostKey = true
};
using (Session session = new Session()) {
// Connect
session.Open(sessionOptions);
session.DisableVersionCheck = true;
// Upload files
TransferOptions transferOptions = new TransferOptions();
transferOptions.TransferMode = TransferMode.Binary;
TransferOperationResult transferResult;
transferResult = session.PutFiles(@resultsFolder+"*", depthDir, 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);
} finally {
// delete file with key
File.Delete(keyFile);
}
key.txt
Anda? Tunjukkan pada kami. - person Martin Prikryl   schedule 15.06.2018key.txt
hanyalah serangkaian karakter yang panjang (kunci pribadi) - person Fueled By Coffee   schedule 15.06.2018