CentOS下用mysecureshell搭建sftp


做运维的朋友应该会碰到对文件服务器有这样的需求:

1. 改服务器主要存放一些比较重要的文件。

2. 不允许明文传输。

3. 锁定用户目录。

4. 用户不能登陆linux系统。

5. 限制访问速度和登陆的用户数。

我们公司经常有这样的需求,而且安全部明令禁止明文传输与用户名和密码相关的信息。这里可以用mysecureshell来满足这个需求。

按照下面的要求来安装rpm包,然后把用户的shell改成MySecureShell就OK了。如下:

一般的yum源里面没有,需要大家去官网下载。下载地址 http://mysecureshell.sourceforge.net/en/download.html

里面的版本比较多,大家根据各自的系统要求下载不同的版本,其实他是取决于你的openss-devel的版本。

我的是CentOS6.2;因为更新过openssl,所以我下载的其实是适用于centos6.4的版本,这个大家要注意。

安装用rpm就可以了。如: rpm -vih mysecureshell-1.33-1.x86_64.rpm

如果不清楚安装软件包的配置文件在哪里的话,用如下命令可以查找。

rpm -qc 软件包的名称,这个地方就是rpm -qc mysecureshell 就可以了

配置文件中主要内容:

GlobalDownload/GlobalUpload是来设置全局下载速度的。

StayAtHome 是否锁定用户在自己的家目录。

LimitConnection 设置最大连接数。

LimitConnectionByUser/LimitConnectionByIP限制每个用户/ip的最大连接数。

Home 指定用户目录在哪里。

这时候比如test1用户,修改/etc/passwd。改成mysecureshell就可以了,如下:

不需要重启任何服务。用sftp软件来测试就行了。我经常在windows用winscp这个工具。

登陆之后界面如下:

这种方法算是我用的比较好解决方案了,有其他好的方案欢迎大家提出来.

在 Linux 中为非 SSH 用户配置 SFTP 环境

Ubuntu 上架设FTP服务器和Apache服务器

Ubuntu 13.04 安装 LAMP\vsftpd\Webmin\phpMyAdmin 服务及设置

RHEL6平台下SeLinux和vsftpd的匿名上传的简单案例

Linux系统vsftpd源码安装

vsftpd的安全配置案例分析

相关内容