ssh&sftp服务分离+家目录锁定

Posted 当年亦如是

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ssh&sftp服务分离+家目录锁定相关的知识,希望对你有一定的参考价值。

Step 1 在root用户下创建维护账号的家目录,此处以创建userftp帐号的家目录为例。

mkdir -p /chroot/home/user

Step 2 在root用户根目录下执行以下命令设置各目录权限。

chown -R root:root /chroot /chroot/home /chroot/home/user
chmod 755 /chroot /chroot/home/user

Step 3 创建SFTP用户并加入sftponly用户组中。

useradd -d /chroot/home/user -G sftponly -s /bin/false -m userftp
passwd userftp

Step 4 在root用户下创建需要镜像的目录。

mkdir -p /chroot/home/user/tomcat/logs

Step 5 在root用户根目录下执行以下命令设置各目录权限。

chown -R userftp:100 /chroot/home/user/tomcat/logs
chmod 755 /chroot/home/user/tomcat/logs

Step 6 绑定镜像目录。

mount --bind -o ro /home/user/tomcat/logs /chroot/home/user/tomcat/logs
备注:单板重启时,需要将绑定镜像目录命令加在/etc/fstab文件中。

Step 7 修改SFTP配置文件。

echo "Match user userftp" >> /etc/ssh/sftpd_config
echo ‘ ChrootDirectory %h‘ >> /etc/ssh/sftpd_config
echo " Forcecommand internal-sftp -l INFO -f AUTH" >> /etc/ssh/sftpd_config
echo "Match" >> /etc/ssh/sftpd_config
/etc/init.d/sftpd restart

Step 8 修改SSH配置文件。

echo "Match user userftp" >> /etc/ssh/sshd_config
echo ‘ ChrootDirectory %h‘ >> /etc/ssh/sshd_config
echo " Forcecommand internal-sftp -l INFO -f AUTH" >> /etc/ssh/sshd_config
echo "Match" >> /etc/ssh/sshd_config
/etc/init.d/sshd restart

Step 9 设置sftp服务开机自启动。

chkconfig --level 35 sftpd on

 

以上是关于ssh&sftp服务分离+家目录锁定的主要内容,如果未能解决你的问题,请参考以下文章

linux配置sftp

Linux技术专题系列「必备基础知识」一起探索和实践sftp配置之密钥方式登录

CentOS 7 配置SFTP

FTPS (FTP over SSL) vs. SFTP (SSH 文件传输协议): 我们如何做出选择

ssh/sftp配置和权限设置

Linux下限制用户通过SFTP访问指定目录