Please do give it a try!
It's possible to launch an SFTP/SSH session on an already-connected Socket, so if you can get that code to work, then instead of calling "client.GetStream" (as in the article's example code), you could start a FileServer session on "client.Socket" using the following helper class that extends FileServer:
public class FileServerExt : FileServer 
{
    private ServerModuleHost _host;
    public void Accept(Socket socket)
    {
        var host = _host;
        if (host == null)
        {
            // Optionally, enable more modules in the CreateModuleHost call in addition to SFTP.
            _host = host = CreateModuleHost(FileServerProtocol.Sftp);
        }
        host.Accept(socket);
    }
}