ssh_server

package
v0.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 11, 2026 License: GPL-3.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrorInvalidPathRequest = errors.New("Invalid path request")
)

Functions

func AddFilesToArchive

func AddFilesToArchive(h SshHandler)

AddFilesToArchive adds file to storage and creates meta-data

func GetAccessContext

func GetAccessContext(h SshHandler) *access_control.AccessContext

func RunSftpServer

func RunSftpServer(config *SshServerConfig)

Types

type FileLister

type FileLister struct {
	// contains filtered or unexported fields
}

func NewFileLister

func NewFileLister(path string) (*FileLister, error)

func NewStatFileLister

func NewStatFileLister(path string) (*FileLister, error)

func (*FileLister) ListAt

func (l *FileLister) ListAt(ls []os.FileInfo, offset int64) (int, error)

type SshFileInfo

type SshFileInfo struct {
	LocalPath string //Absolute path on local file system
	UserPath  string //Path as visible to the user (child of auth virtual-root)
}

type SshHandler

type SshHandler interface {
	GetUsername() string
	GetNewFiles() []SshFileInfo
}

type SshServerConfig

type SshServerConfig struct {
	ListenAddress       string
	HostKeyFile         string
	PasswordCallback    func(conn ssh.ConnMetadata, password []byte) (*ssh.Permissions, error)
	SftpHandlerCreator  func(username string) (*VirtualSftpHandler, error)
	RsyncHandlerCreator func(username string) (*VirtualRsyncHandler, error)
}

type VirtualRsyncHandler

type VirtualRsyncHandler struct {
	// contains filtered or unexported fields
}

func NewVirtualRsyncHandler

func NewVirtualRsyncHandler(rootDirectory string, username string) *VirtualRsyncHandler

func (*VirtualRsyncHandler) GetNewFiles

func (h *VirtualRsyncHandler) GetNewFiles() []SshFileInfo

func (*VirtualRsyncHandler) GetUsername

func (h *VirtualRsyncHandler) GetUsername() string

type VirtualSftpHandler

type VirtualSftpHandler struct {
	// contains filtered or unexported fields
}

func NewVirtualSftpHandler

func NewVirtualSftpHandler(rootDirectory string, username string) *VirtualSftpHandler

func (*VirtualSftpHandler) Filecmd

func (h *VirtualSftpHandler) Filecmd(r *sftp.Request) error

func (*VirtualSftpHandler) Filelist

func (h *VirtualSftpHandler) Filelist(r *sftp.Request) (sftp.ListerAt, error)

func (*VirtualSftpHandler) Fileread

func (h *VirtualSftpHandler) Fileread(r *sftp.Request) (io.ReaderAt, error)

func (*VirtualSftpHandler) Filewrite

func (h *VirtualSftpHandler) Filewrite(r *sftp.Request) (io.WriterAt, error)

func (*VirtualSftpHandler) GetHandlers

func (h *VirtualSftpHandler) GetHandlers() sftp.Handlers

func (*VirtualSftpHandler) GetNewFiles

func (h *VirtualSftpHandler) GetNewFiles() []SshFileInfo

func (*VirtualSftpHandler) GetUsername

func (h *VirtualSftpHandler) GetUsername() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
⌂ 换网址