コード例 #1
0
        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);
        }
コード例 #2
0
        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();
        }