【发布时间】:2015-08-24 19:23:16
【问题描述】:
如何阻止用户使用 WinSCP 登录 Linux 机器?
我已经设置了一个用户,这样当他们通过 Putty 登录时,他们会看到一个交互式 CLI(使用 Python)并且没有 bash shell。
【问题讨论】:
-
离题。不是编程问题。我们不是一般的操作系统技术支持。
-
也许更好地询问超级用户,但是嘿:您已经在下面找到了解决方案;-)
如何阻止用户使用 WinSCP 登录 Linux 机器?
我已经设置了一个用户,这样当他们通过 Putty 登录时,他们会看到一个交互式 CLI(使用 Python)并且没有 bash shell。
【问题讨论】:
在你的 sshd_config 中
找到如下行:
Subsystem sftp /usr/lib/openssh/sftp-server
通过添加前缀 #: 删除或注释掉行
# Subsystem sftp /usr/lib/openssh/sftp-server
保存并关闭文件。重启sshd服务:
# /etc/init.d/sshd restart
如果这不起作用,那么
替换:
Subsystem sftp /usr/lib/openssh/sftp-server
与:
Subsystem sftp /bin/false
【讨论】:
这没有意义。
如果您允许 shell 访问服务器,您就可以让用户(几乎)做任何他/她想做的事情。阻止 WinSCP 无济于事,而且也不容易。
您可以禁用“sftp”子系统映射,如answer by @Dimi 所示。但是用户可以通过在WinSCP session options 中指定sftp-server 二进制文件的完整路径来轻松绕过它。
即使您采取任何预防措施阻止用户运行sftp-server 二进制文件,用户仍然可以恢复到 SCP 协议。
即使您也阻止了scp 二进制文件,用户仍然可以使用其他方法修改文件。
您应该更好地向我们解释您的意图,以获得更好的答案。
【讨论】: