首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >允许SFTP但不允许SSH?

允许SFTP但不允许SSH?
EN

Server Fault用户
提问于 2012-01-28 20:40:47
回答 8查看 133.1K关注 0票数 111

我正在为几个朋友和小客户开办一家小型托管公司,没什么大不了的。

我想给我的“客户端”在服务器上管理他们的文件的权利。我讨厌FTP,因为它不安全,而且在我看来已经过时了。

因此,我希望允许我的用户通过SFTP进行连接,但不允许他们通过SSH进行连接。(我知道,我知道,SFTP正在使用SSH)。但我只是在想,这有可能吗?

这样我就不用在服务器上安装FTP服务了,一切都会很棒!

EN

回答 8

Server Fault用户

回答已采纳

发布于 2012-01-28 20:46:31

从4.9版OpenSSH开始(在Centos5.x中不可用,但ChrootDirectory特性已被支持)有一个internal-sftp子系统:

代码语言:javascript
运行
复制
Subsystem sftp internal-sftp

然后阻止其他用途:

代码语言:javascript
运行
复制
Match group sftponly
     ChrootDirectory /upload/%u
     X11Forwarding no
     AllowTcpForwarding no
     AllowAgentForwarding no
     ForceCommand internal-sftp

将用户添加到sftponly组。chroot目录必须由root用户拥有,并且不能分组可写,因此为每个用户创建一个子目录,例如由适当用户拥有的uploadshome/$username (如果您与他们的主目录匹配,它将是连接时的默认工作目录)。我还将/bin/false设置为用户的shell。

例如,用户可以通过以下方式上传单个文件:

代码语言:javascript
运行
复制
sftp username@hostname <<< 'put filename.ext uploads/'

(scp有望很快被修改为使用sftp,因此这将变得更容易)

票数 148
EN

Server Fault用户

发布于 2012-01-28 21:11:30

有一个shell scponly,这是什么?它也能变色。

票数 23
EN

Server Fault用户

发布于 2012-02-02 13:15:10

签出rssh,这是一个允许sftp但拒绝ssh的假shell。

更多关于RSSH的信息

http://www.pizzashack.org/rssh/

RPM

http://pkgs.repoforge.org/rssh/

您可以将rssh配置为允许/拒绝sft、scp等不同行为。

票数 5
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/354615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档