public String AddSshKey(String name, String sshkey) { var seg = sshkey.Split(); var type = seg[0]; sshkey = seg[1]; var fingerprint = KeyUtils.GetFingerprint(sshkey); var user = User.FindByName(name); if (user == null) { return(null); } var key = new SshKey { UserID = user.ID, KeyType = type, Fingerprint = fingerprint, PublicKey = sshkey, ImportData = DateTime.UtcNow, LastUse = DateTime.UtcNow, }; key.Save(); return(fingerprint); }
static void Main(string[] args) { SshKey rsaKey = SshKey.Generate(SshKeyAlgorithm.RSA, 1024); SshKey dssKey = SshKey.Generate(SshKeyAlgorithm.DSS, 1024); if (File.Exists(@"\FTP.log")) { File.Create(@"\FTP.log"); } rsaKey.Save("C:\\Temp\\private.key", "Q/ulw&]"); TextWriter txt = new StreamWriter(File.OpenWrite(@".\FTP.log")); // add keys, bindings and users var server = new SftpServer { Log = Console.Out }; server.Keys.Add(rsaKey); server.Keys.Add(dssKey); server.Bindings.Add(IPAddress.Any, 22); server.Users.Add(new SshUser("dev2", "Q/ulw&]", @"C:\Temp")); // start the server server.Start(); Console.ReadLine(); }