有哪些安全的 FTP 替代方案?

Nat*_*ong 23 security ftp sftp

这个 Hacker News 故事是关于 FTP 的缺点。我可能设置 FTP 的唯一原因是它很容易。

scp已经知道并使用过,但有时我想与某人共享文件而不授予他们ssh访问我的服务器的权限。我希望他们能够上传和下载文件,但没有别的,我想将它们限制在一个目录中。我还希望他们的连接像ssh.

满足这些条件的 FTP 替代品有哪些?

Tra*_*ell 7

Proftpd 有一个内置的 sftp 服务器,它允许您出于文件传输的目的将用户与 sshd 完全隔离。您可以对其进行设置,使其使用完全独立的 passwd 文件来进一步隔离它们(如果 /etc/passwd 中实际上没有用户,则很难使用 ssh 登录系统并突破 chroot .. .)

proftpd 还允许您很容易地 chroot 并将 sftp 用户隔离到一组目录中。

我们做这样的事情:

LoadModule mod_sftp.c

<VirtualHost 10.1.1.217>

    ServerName  "ftp.example.com"

    # from http://www.proftpd.org/docs/howto/NAT.html
    MasqueradeAddress   1.2.3.4
    PassivePorts 27001 27050

    UseSendfile off

    ExtendedLog         /var/log/proftpd/access.log WRITE,READ default
    ExtendedLog         /var/log/proftpd/auth.log AUTH auth

    AuthUserFile /etc/proftpd/AuthUsersFile
    AuthOrder           mod_auth_file.c 

    <IfModule mod_sftp.c>
        Port 10022
    SFTPAuthorizedUserKeys file:/etc/proftpd/ssh_authorized_keys/%u
        SFTPEngine On
        SFTPLog /var/log/proftpd/sftp.log
        SFTPHostKey /etc/ssh/proftpd-ssh_host_rsa_key
        SFTPHostKey /etc/ssh/proftpd-ssh_host_dsa_key
        MaxLoginAttempts 6
    </IfModule>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)


Ero*_*oen -1

您可以通过将 rsync 设置为用户的登录 shell 来启用通过 ssh 的 rsync 上传和下载,而无需允许登录。这启用了 ssh 的所有优点,包括证书登录、加密和标准文件系统权限操作,同时不启用 shell 帐户(因为该帐户没有 shell,但有 rsync =))。