RHEL5.5配备SFTP-ONLY访问

RHEL5.5配置SFTP-ONLY访问


RHEL中建议用SSH远程访问,但是有时我们只希望用户可以访问服务器上的文件,但不能登陆服务器进行操作,也就是不能SSH登陆,但是可以通过SFTP进行文件传输。通过以下配置可以进行控制。

如果控制sftp目录,需要openssh 4.8p1以上,以下就别折腾了。如果版本低,重装一下,下载地址如下:

http://ftp.jaist.ac.jp/pub/OpenBSD/OpenSSH/portable/

查看ssh版本

RHEL5.5配备SFTP-ONLY访问

1、 配置telnet连接,因为重装ssh的话需要通过telnet来远程(vnc也行)

查看安装的telnet

RHEL5.5配备SFTP-ONLY访问

配置telnet的disable为no

RHEL5.5配备SFTP-ONLY访问

配置telnet允许root登陆,注释pam_securetty.so这行

RHEL5.5配备SFTP-ONLY访问

重启telnet服务

RHEL5.5配备SFTP-ONLY访问

2、 telnet登陆服务器,停止ssh

RHEL5.5配备SFTP-ONLY访问

查看原openssh的安装情况

RHEL5.5配备SFTP-ONLY访问

全部卸载

RHEL5.5配备SFTP-ONLY访问

3、 安装最新版openssh,此文使用的是openssh-6.0p1

#cdopenssh-6.0p1

#./configure--prefix=/usr/local/ssh --sysconfdir=/etc/ssh --with-pam --with-zlib --with-ssl-dir=/usr/local/ssl--with-md5-passwords --mandir=/usr/share/man

#make

#makeinstall

# cp /usr/local/ssh/bin/* /usr/bin/

# cp /usr/local/ssh/sbin/* /usr/sbin/

验证安装结果

RHEL5.5配备SFTP-ONLY访问

将ssh加入启动服务,配置开机启动

RHEL5.5配备SFTP-ONLY访问

ssh安装完成,停止telnet后,可以回到ssh远程了。

4、 例如:想把目录/work/git/gitspace作为sftp的访问根目录,并控制用户只能通过sftp进行文件访问,而不能通过ssh登陆,则配置如下。

建立用户组sftp-only

RHEL5.5配备SFTP-ONLY访问

创建用户sftpadmin指定为sftp-only组,并shell为/sbin/nologin

RHEL5.5配备SFTP-ONLY访问

配置ssh,使用户组sftp-only下的用户仅允许sftp且根目录为/work/git/gitspace

#vi/etc/ssh/sshd_config

将Subsystem部分修改如下

RHEL5.5配备SFTP-ONLY访问

重启ssh服务,用sftpadmin用户登陆尝试。