允许用户在 Web 根目录中使用 SSH

允许用户在 Web 根目录中使用 SSH

我有一个 nginx 设置,它一直运行良好。我可以使用多个网站创建不同的用户。(Debian 11)

为此我使用以下命令

useradd -m myuser
mkdir -p /var/www
chmod -R 555 /var/www
mkdir -p /var/www/webuser
chown root:root /var/www/webuser

useradd webuser
usermod webuser -s /bin/false
usermod webuser -d /var/www/webuser

mkdir -p /var/www/webuser/html
mkdir -p /var/www/webuser/logs
chmod 750 /var/www/webuser/html
chmod 750 /var/www/webuser/logs

chown -R webuser:www-data /var/www/webuser/html
chown -R webuser:www-data /var/www/webuser/logs
chmod -R g+s /var/www/webuser/html

groupadd sftpGroup
usermod -a -G sftpGroup webuser

这还不是一个 sshd_conf

Subsystem sftp internal-sftp
Match Group sftpGroup
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

有没有办法让用户 webuser 通过 SSH 访问他的目录?

答案1

是的,这是可能的,首先我们需要更改 shell,然后webuser usermod webuser -s /bin/bash转到/etc/ssh/sshd_config并进行相应的修改:

Subsystem sftp internal-sftp

# For SFTP access with chroot
Match Group sftpGroup
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

# For SSH access
Match Group sshGroup
    AllowTcpForwarding yes
    X11Forwarding no

然后创建一个新的组groupadd sshGroup然后usermod -a -G sshGroup webuser重新启动 sshsystemctl restart ssh它应该可以工作

相关内容