如何禁止掉ssh的远程文件传输功能?
-
- 帖子: 13
- 注册时间: 2009-08-26 19:03
如何禁止掉ssh的远程文件传输功能?
原因就不解释了,反正目的只有一个,防火墙上只开22端口到ssh服务器,不允许内部数据通过22端口上传到服务器上。
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
- 木泥黑
- 帖子: 1339
- 注册时间: 2008-10-18 12:41
- roylez
- 帖子: 1928
- 注册时间: 2005-10-04 10:59
- 来自: 上海
Re: 如何禁止掉ssh的远程文件传输功能?
就是这行提供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
✡ 配置:[url]git://github.com/roylez/dotfiles.git[/url]
✡ 主页:http://roylez.heroku.com
✡ 各种稀奇玩意儿:http://dooloo.info
-
- 帖子: 13
- 注册时间: 2009-08-26 19:03
Re: 如何禁止掉ssh的远程文件传输功能?
其实是这样的,我在服务器上用freenx做了远程控制,想让研发人员通过远程控制这台机来上网(只传输个网页图像给他们),内网和这台机之间只留22端口。因为freenx是基于openssh的,所以这样必须得想办法禁止掉scp和sftp。
不过我也觉得scp不可能禁掉。那么能不能这样呢:禁止员工自己改用户密码,密码仅由管理员保存在freenx客户端里,以后他们登陆直接打开客户端就行了。由于只有账号没有密码,他们也就不能用ssh啦。
(有点类似于老板给你配好了outlook,你能收邮件,但却不知道邮箱密码)
不过我也觉得scp不可能禁掉。那么能不能这样呢:禁止员工自己改用户密码,密码仅由管理员保存在freenx客户端里,以后他们登陆直接打开客户端就行了。由于只有账号没有密码,他们也就不能用ssh啦。
(有点类似于老板给你配好了outlook,你能收邮件,但却不知道邮箱密码)
- 木泥黑
- 帖子: 1339
- 注册时间: 2008-10-18 12:41
Re: 如何禁止掉ssh的远程文件传输功能?
你要明白SSH、SCP、SFTP都是基于安全加密协议
SFTP可以禁用
就算你禁掉SCP和SFTP。只要用SSH登陆就可以传输数据
SFTP可以禁用
代码: 全选
/etc/ssh/sshd_config注释Subsystem sftp /usr/lib/openssh/sftp-server然后重启sshd服务
-
- 帖子: 13
- 注册时间: 2009-08-26 19:03
Re: 如何禁止掉ssh的远程文件传输功能?
以上我已经明白了,所以我不得不“曲线救国”,让员工不知道初始密码、不能自己改密码,这样就可以达到我用freenx的目的,又让他们不能用ssh。木泥黑 写了:你要明白SSH、SCP、SFTP都是基于安全加密协议
SFTP可以禁用
就算你禁掉SCP和SFTP。只要用SSH登陆就可以传输数据代码: 全选
/etc/ssh/sshd_config注释Subsystem sftp /usr/lib/openssh/sftp-server然后重启sshd服务
- 木泥黑
- 帖子: 1339
- 注册时间: 2008-10-18 12:41
Re: 如何禁止掉ssh的远程文件传输功能?
用金钥验证
然后添加nxserver的帐户和密码
这样就不用让他们知道密码了
参考文档:http://wiki.centos.org/zh/HowTos/FreeNX
代码: 全选
用金钥验证
註:虽然这部份是选择性的,我们推荐你实施用金钥验证。
复制一个最基本的 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
这样就不用让他们知道密码了
参考文档:http://wiki.centos.org/zh/HowTos/FreeNX
-
- 帖子: 13
- 注册时间: 2009-08-26 19:03
Re: 如何禁止掉ssh的远程文件传输功能?
顶楼上。今天太忙,来不及去试验了。但从方法上分析,应该是可以的:
普通ssh验证是通过系统中存在的帐号密码来进行,而我们把它在sshd.conf中禁止了。
然后启用nx的用户数据库,加入ssh的允许名单中,只有nx的用户才能通过ssh验证。而nx的密码是管理员制定的,同时保存在客户端,使用人毫不知情。
PS:早期的freenx只能用nxserver --adduser 来增加使用者,后来版本默认可以直接认系统用户了,方便了配置。
普通ssh验证是通过系统中存在的帐号密码来进行,而我们把它在sshd.conf中禁止了。
然后启用nx的用户数据库,加入ssh的允许名单中,只有nx的用户才能通过ssh验证。而nx的密码是管理员制定的,同时保存在客户端,使用人毫不知情。
PS:早期的freenx只能用nxserver --adduser 来增加使用者,后来版本默认可以直接认系统用户了,方便了配置。
-
- 帖子: 2841
- 注册时间: 2006-09-11 22:47
Re: 如何禁止掉ssh的远程文件传输功能?
最可靠的办法是不赋予用户目录任何可写权限。
ssh 协议传输文件是不需要 sftp scp 等协议的,例如 fish 协议是直接通过 ssh 传输文件,即使你没有开 sftp 也一样能传。所以如果你开ssh,任何方法都不能阻止文件传输。
如果你只是需要禁止写文件。那么就不赋予用户目录写权限即可。
例如 用户名叫 user,你有个 /home/user,这个目录你用root而设定它的权限,去掉 w 权限即可。以后该目录永远不会改变。这样你即使告诉用户密码也没关系。
ssh 协议传输文件是不需要 sftp scp 等协议的,例如 fish 协议是直接通过 ssh 传输文件,即使你没有开 sftp 也一样能传。所以如果你开ssh,任何方法都不能阻止文件传输。
如果你只是需要禁止写文件。那么就不赋予用户目录写权限即可。
例如 用户名叫 user,你有个 /home/user,这个目录你用root而设定它的权限,去掉 w 权限即可。以后该目录永远不会改变。这样你即使告诉用户密码也没关系。
-
- 帖子: 13
- 注册时间: 2009-08-26 19:03
Re: 如何禁止掉ssh的远程文件传输功能?
root取消写权限,但个人还是能加回自己目录的写权限。
另外木泥黑,那个方法试了有问题,用putty连接都会说找不到可用的验证途径,感觉把PasswordAuthentication no后,系统没有去执行 AllowUsers nx myuser
另外木泥黑,那个方法试了有问题,用putty连接都会说找不到可用的验证途径,感觉把PasswordAuthentication no后,系统没有去执行 AllowUsers nx myuser
- millenniumdark
- 论坛版主
- 帖子: 4159
- 注册时间: 2005-07-02 14:41
- 系统: Ubuntu 14.04 (Kylin)
- 联系:
Re: 如何禁止掉ssh的远程文件传输功能?
所有這些用戶的家目錄都放在一個分區裡,然後以只讀方式掛載這個選項。玉龙骥 写了:root取消写权限,但个人还是能加回自己目录的写权限。
不過感覺用freenx來讓別人上網怪怪的。如果單純做上網的gateway,還不如在服務器上配置一個代理服務器。
- 木泥黑
- 帖子: 1339
- 注册时间: 2008-10-18 12:41
Re: 如何禁止掉ssh的远程文件传输功能?
把PasswordAuthentication no后,putty连接就要用密钥登陆了玉龙骥 写了:root取消写权限,但个人还是能加回自己目录的写权限。
另外木泥黑,那个方法试了有问题,用putty连接都会说找不到可用的验证途径,感觉把PasswordAuthentication no后,系统没有去执行 AllowUsers nx myuser
-
- 帖子: 13
- 注册时间: 2009-08-26 19:03
Re: 如何禁止掉ssh的远程文件传输功能?
不是用来解决上网问题的。老板是想让研发部和外网隔离,来保证信息安全。但我总不能让研发人员都去网吧上网查资料吧,所以想到用freenx的控制方式,只传输一个桌面图像给他们,这样他们就能看论坛,但却不会把内部的代码复制粘贴出去了。类似于ctrix发布网页一样。millenniumdark 写了:不過感覺用freenx來讓別人上網怪怪的。如果單純做上網的gateway,還不如在服務器上配置一個代理服務器
- yaoms
- 帖子: 4952
- 注册时间: 2007-10-19 14:51
- 来自: 深圳