使用 C# 以编程方式创建 SFTP 用户

Create SFTP user programmatically using c#

我一直在使用 windows 服务器 2012 R2,我有用于 SFTP 的 bitvise SSH,我想在我的应用程序中以编程方式创建 SFTP 用户。

我想做的是当任何用户注册到应用程序时,应用程序将为新创建的 folder.So 创建一个新文件夹和 SFTP 凭证,每个用户都可以访问他们的 SFTP 将文件上传到相关文件夹的凭据。

我可以找到动态创建 FTP 用户的解决方案,但我想创建 SFTP 用户。

问题:是否可以使用c#创建SFTP用户?如果是那又怎样?

您可以使用 C# 创建 SFPT 用户,例如:

var cfg = new CBssCfg726("BssCfg726.BssCfg726");

cfg.SetSite("Bitvise SSH Server");

cfg.LoadServerSettings();


cfg.settings.access.virtAccountsEx.@new.virtAccount ="Virtual Account Name";
cfg.settings.access.virtAccountsEx.@new.virtPassword.Set("Password");
cfg.settings.access.virtAccountsEx.@new.group = "Virtual Users";

//if already virtAccountsEx then first delete... 
for (uint i = 0; i < cfg.settings.access.virtAccountsEx.count; i++) {
    if (cfg.settings.access.virtAccountsEx.GetItem(i).virtAccount == "Virtual Account Name") {
        cfg.settings.access.virtAccountsEx.Erase(i);
    }
}
cfg.settings.access.virtAccountsEx.@new.fwding.srvSideC2S.ipv4Ex.@new.targetHost = "127.0.0.1";
cfg.settings.access.virtAccountsEx.@new.fwding.srvSideC2S.ipv4Ex.@new.targetPort = 80;
cfg.settings.access.virtAccountsEx.@new.fwding.srvSideC2S.ipv4Ex.@new.proxyProfile = "Default";
cfg.settings.access.virtAccountsEx.@new.loginAllowed = cfg.DefaultYesNo.yes;
cfg.settings.access.virtAccountsEx.@new.xfer.mountPointsEx.Clear();
cfg.settings.access.virtAccountsEx.@new.xfer.mountPointsEx.@new.sfsMountPath = "/";
cfg.settings.access.virtAccountsEx.@new.xfer.mountPointsEx.@new.realRootPath = "Path to folder";
cfg.settings.access.virtAccountsEx.@new.xfer.mountPointsEx.NewCommit();
cfg.settings.access.virtAccountsEx.@new.fwding.srvSideC2S.ipv4Ex.NewCommit();
cfg.settings.access.virtAccountsEx.NewCommit();
cfg.SaveServerSettings();