51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

sftp不允许ssh登录

# sftp 不允许 ssh 登录 {#sftp-不允许-ssh-登录}

本文讲述如何使 ssh 账号无法登录,但是可以正常使用 sftp 服务。默认情况下,新增的系统用户可以使用 ssh 登录系统终端,也可以使用 sftp 向服务端上传或下载文件。安全起见,我们怎么控制该用户只能使用上传和下载功能,而禁止他登录到终端呢?

# 一. 准备环境 {#一-准备环境}

CentOS-6.5-x86_64-minimal

# 二. 约定 {#二-约定}

用户组:sftpGroup
sftpGroup 的用户:user1、user2
用户 user1 的目录限定为/var/noveltv/media/user1dir
用户 user2 的目录限定为/var/ntv/media/user2dir
用户 user1 密码:user1pwd
用户 user2 密码:user2pwd

# 三. 配置 {#三-配置}

  1. 初始化第 1 个用户 groupadd sftpGroup
    useradd -M -G sftpGroup -s /sbin/nologin user1
    echo user1:user1pwd | chpasswd
    vi /etc/ssh/sshd_config

    #Subsystem sftp /usr/libexec/openssh/sftp-server Subsystem sftp internal-sftp Match Group sftpGroup X11Forwarding no AllowTcpForwarding no ChrootDirectory %h ForceCommand internal-sftp

service sshd restart
mkdir -p /var/noveltv/media/user1dir
usermod -d /var/noveltv/media/user1dir user1
chmod 755 /var/noveltv/media/user1dir
chown root /var/noveltv/media/user1dir
chgrp -R sftpGroup /var/noveltv/media/user1dir
mkdir /var/noveltv/media/user1dir/uploadFiles
chown user1. /var/noveltv/media/user1dir/uploadFiles/
setsebool ssh_chroot_full_access on

  1. 添加剩余用户 useradd -M -G sftpGroup -s /sbin/nologin user2
    echo user2:user2pwd | chpasswd
    mkdir -p /var/ntv/media/user2dir
    usermod -d /var/ntv/media/user2dir user2
    chmod 755 /var/ntv/media/user2dir
    chown root /var/ntv/media/user2dir
    chgrp sftpGroup /var/ntv/media/user2dir
    mkdir /var/ntv/media/user2dir/uploadFiles
    chown user2. /var/ntv/media/user2dir/uploadFiles/

# 四. 验证 {#四-验证}

# 1. 验证 ssh 登录 {#_1-验证-ssh-登录}

执行命令:ssh user1@localhost。若登录失败,则验证通过。

# 2. 验证 sftp 登录 {#_2-验证-sftp-登录}

登录后的窗口界面如下


用户根目录无权限读写,uploadFiles 目录可读写。因此,文件需上传到 uploadFiles 目录中。

赞(4)
未经允许不得转载:工具盒子 » sftp不允许ssh登录