如何禁止掉ssh的远程文件传输功能?

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
玉龙骥
帖子: 13
注册时间: 2009-08-26 19:03

如何禁止掉ssh的远程文件传输功能?

#1

帖子 玉龙骥 » 2009-09-15 19:54

原因就不解释了,反正目的只有一个,防火墙上只开22端口到ssh服务器,不允许内部数据通过22端口上传到服务器上。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 如何禁止掉ssh的远程文件传输功能?

#2

帖子 eexpress » 2009-09-15 21:03

只要有数据传输,就禁止不了。
pkill ssh吧
● 鸣学
头像
木泥黑
帖子: 1339
注册时间: 2008-10-18 12:41

Re: 如何禁止掉ssh的远程文件传输功能?

#3

帖子 木泥黑 » 2009-09-16 11:14

不传输数据,开通端口干嘛呢
头像
roylez
帖子: 1928
注册时间: 2005-10-04 10:59
来自: 上海

Re: 如何禁止掉ssh的远程文件传输功能?

#4

帖子 roylez » 2009-09-16 11:19

就是这行提供sftp的/etc/ssh/sshd_config,自己man下sshd_config

代码: 全选

Subsystem       sftp    /usr/lib/ssh/sftp-server
弄个dropbox空间来备份文件或者做私人代码服务器
配置:[url]git://github.com/roylez/dotfiles.git[/url]
主页:http://roylez.heroku.com
各种稀奇玩意儿:http://dooloo.info
玉龙骥
帖子: 13
注册时间: 2009-08-26 19:03

Re: 如何禁止掉ssh的远程文件传输功能?

#5

帖子 玉龙骥 » 2009-09-16 11:21

其实是这样的,我在服务器上用freenx做了远程控制,想让研发人员通过远程控制这台机来上网(只传输个网页图像给他们),内网和这台机之间只留22端口。因为freenx是基于openssh的,所以这样必须得想办法禁止掉scp和sftp。

不过我也觉得scp不可能禁掉。那么能不能这样呢:禁止员工自己改用户密码,密码仅由管理员保存在freenx客户端里,以后他们登陆直接打开客户端就行了。由于只有账号没有密码,他们也就不能用ssh啦。
(有点类似于老板给你配好了outlook,你能收邮件,但却不知道邮箱密码)
头像
木泥黑
帖子: 1339
注册时间: 2008-10-18 12:41

Re: 如何禁止掉ssh的远程文件传输功能?

#6

帖子 木泥黑 » 2009-09-16 11:25

你要明白SSH、SCP、SFTP都是基于安全加密协议
SFTP可以禁用

代码: 全选

/etc/ssh/sshd_config注释Subsystem sftp /usr/lib/openssh/sftp-server然后重启sshd服务
就算你禁掉SCP和SFTP。只要用SSH登陆就可以传输数据
玉龙骥
帖子: 13
注册时间: 2009-08-26 19:03

Re: 如何禁止掉ssh的远程文件传输功能?

#7

帖子 玉龙骥 » 2009-09-16 11:29

木泥黑 写了:你要明白SSH、SCP、SFTP都是基于安全加密协议
SFTP可以禁用

代码: 全选

/etc/ssh/sshd_config注释Subsystem sftp /usr/lib/openssh/sftp-server然后重启sshd服务
就算你禁掉SCP和SFTP。只要用SSH登陆就可以传输数据
以上我已经明白了,所以我不得不“曲线救国”,让员工不知道初始密码、不能自己改密码,这样就可以达到我用freenx的目的,又让他们不能用ssh。
头像
木泥黑
帖子: 1339
注册时间: 2008-10-18 12:41

Re: 如何禁止掉ssh的远程文件传输功能?

#8

帖子 木泥黑 » 2009-09-16 11:41

用金钥验证

代码: 全选

用金钥验证

註:虽然这部份是选择性的,我们推荐你实施用金钥验证。

复制一个最基本的 nxserver 配置文件:

cd /etc/nxserver ; cp node.conf.sample node.conf

如果你的机器连接到互联网,你多数会想停用口令验证(这是个推荐但並非必然)。编辑 /etc/ssh/sshd_config 档並更改/加入下列数行:

PasswordAuthentication no
        AllowUsers nx

请不要忘记在改动后重新引导 sshd 守护程序:

service sshd restart

根据缺省值,当你尝试连接到 NX 服务器时,它会利用 nx 这个戶口进行 ssh 连接(通过金钥验证),但亦会尝试在 ssh 內以你的用戶名称及口令连接到你要接触的主机。由於我们已经停用 PasswordAuthentication(推荐做法),我们须要利用 NX 数据库来容许直通验证。请确定 /etc/nxserver/node.conf 文件內包含下列数行:

ENABLE_PASSDB_AUTHENTICATION="1"

接著为你自己创建一个 posix 戶口(通过 useradd/passwd 如果你仍未这樣做)。将这个新创建的用戶加进 nxserver 数据库內:

nxserver --adduser myuser
NX> 100 NXSERVER - Version 1.5.0-60 OS (GPL)
NX> 1000 NXNODE - Version 1.5.0-60 OS (GPL)
NX> 716 Public key added to: /home/myuser/.ssh/authorized_keys2
NX> 1001 Bye.
NX> 999 Bye

设置这个用戶的口令:

nxserver --passwd myuser
NX> 100 NXSERVER - Version 1.5.0-60 OS (GPL)
New password:
Password changed.
NX> 999 Bye
然后添加nxserver的帐户和密码
这样就不用让他们知道密码了
:ema0

参考文档:http://wiki.centos.org/zh/HowTos/FreeNX
玉龙骥
帖子: 13
注册时间: 2009-08-26 19:03

Re: 如何禁止掉ssh的远程文件传输功能?

#9

帖子 玉龙骥 » 2009-09-16 12:24

顶楼上。今天太忙,来不及去试验了。但从方法上分析,应该是可以的:
普通ssh验证是通过系统中存在的帐号密码来进行,而我们把它在sshd.conf中禁止了。
然后启用nx的用户数据库,加入ssh的允许名单中,只有nx的用户才能通过ssh验证。而nx的密码是管理员制定的,同时保存在客户端,使用人毫不知情。

PS:早期的freenx只能用nxserver --adduser 来增加使用者,后来版本默认可以直接认系统用户了,方便了配置。
poet
帖子: 2841
注册时间: 2006-09-11 22:47

Re: 如何禁止掉ssh的远程文件传输功能?

#10

帖子 poet » 2009-09-16 12:45

最可靠的办法是不赋予用户目录任何可写权限。

ssh 协议传输文件是不需要 sftp scp 等协议的,例如 fish 协议是直接通过 ssh 传输文件,即使你没有开 sftp 也一样能传。所以如果你开ssh,任何方法都不能阻止文件传输。

如果你只是需要禁止写文件。那么就不赋予用户目录写权限即可。

例如 用户名叫 user,你有个 /home/user,这个目录你用root而设定它的权限,去掉 w 权限即可。以后该目录永远不会改变。这样你即使告诉用户密码也没关系。
玉龙骥
帖子: 13
注册时间: 2009-08-26 19:03

Re: 如何禁止掉ssh的远程文件传输功能?

#11

帖子 玉龙骥 » 2009-09-16 14:02

root取消写权限,但个人还是能加回自己目录的写权限。

另外木泥黑,那个方法试了有问题,用putty连接都会说找不到可用的验证途径,感觉把PasswordAuthentication no后,系统没有去执行 AllowUsers nx myuser
头像
millenniumdark
论坛版主
帖子: 4159
注册时间: 2005-07-02 14:41
系统: Ubuntu 14.04 (Kylin)
联系:

Re: 如何禁止掉ssh的远程文件传输功能?

#12

帖子 millenniumdark » 2009-09-16 15:25

玉龙骥 写了:root取消写权限,但个人还是能加回自己目录的写权限。
所有這些用戶的家目錄都放在一個分區裡,然後以只讀方式掛載這個選項。

不過感覺用freenx來讓別人上網怪怪的。如果單純做上網的gateway,還不如在服務器上配置一個代理服務器。
头像
木泥黑
帖子: 1339
注册时间: 2008-10-18 12:41

Re: 如何禁止掉ssh的远程文件传输功能?

#13

帖子 木泥黑 » 2009-09-16 16:28

玉龙骥 写了:root取消写权限,但个人还是能加回自己目录的写权限。

另外木泥黑,那个方法试了有问题,用putty连接都会说找不到可用的验证途径,感觉把PasswordAuthentication no后,系统没有去执行 AllowUsers nx myuser
把PasswordAuthentication no后,putty连接就要用密钥登陆了
玉龙骥
帖子: 13
注册时间: 2009-08-26 19:03

Re: 如何禁止掉ssh的远程文件传输功能?

#14

帖子 玉龙骥 » 2009-09-16 16:41

millenniumdark 写了:不過感覺用freenx來讓別人上網怪怪的。如果單純做上網的gateway,還不如在服務器上配置一個代理服務器
不是用来解决上网问题的。老板是想让研发部和外网隔离,来保证信息安全。但我总不能让研发人员都去网吧上网查资料吧,所以想到用freenx的控制方式,只传输一个桌面图像给他们,这样他们就能看论坛,但却不会把内部的代码复制粘贴出去了。类似于ctrix发布网页一样。
头像
yaoms
帖子: 4952
注册时间: 2007-10-19 14:51
来自: 深圳

Re: 如何禁止掉ssh的远程文件传输功能?

#15

帖子 yaoms » 2009-09-16 17:25

这样的研发也郁闷。。
Nothing 有事请发邮件到 yms541 AT gmail.com
alias 爱慕颇雷尔='mplayer'
回复