debian

Debian SFTP配置中如何设置虚拟用户

小樊
43
2025-10-05 10:33:25
栏目: 云计算

在Debian系统中配置SFTP虚拟用户,你需要遵循以下步骤:

  1. 安装必要的软件包

首先,确保你已经安装了openssh-serversshd-homedir软件包。如果没有,请使用以下命令安装:

sudo apt-get update
sudo apt-get install openssh-server sshd-homedir
  1. 创建虚拟用户数据库

使用文本编辑器创建一个新的虚拟用户数据库文件。例如,使用nano编辑器创建一个名为/etc/virtual-users.txt的文件:

sudo nano /etc/virtual-users.txt

在文件中添加虚拟用户的用户名和密码,每行一个用户,格式如下:

username1
password1
username2
password2

保存并关闭文件。

  1. 创建虚拟用户目录

为每个虚拟用户创建一个家目录。例如,为username1创建一个名为/home/username1的家目录:

sudo mkdir /home/username1
  1. 设置虚拟用户家目录权限

更改虚拟用户家目录的所有者和权限,以便SSH可以访问:

sudo chown root:root /home/username1
sudo chmod 755 /home/username1
  1. 创建PAM认证文件

创建一个名为/etc/pam.d/virtual-users的文件,用于配置PAM认证:

sudo nano /etc/pam.d/virtual-users

在文件中添加以下内容:

auth required pam_userdb.so db=/etc/virtual-users.txt
account required pam_userdb.so db=/etc/virtual-users.txt

保存并关闭文件。

  1. 修改SSH配置文件

编辑/etc/ssh/sshd_config文件,以便使用PAM认证和虚拟用户:

sudo nano /etc/ssh/sshd_config

找到以下行并进行修改:

# Authentication:
#LoginGraceTime 120
PermitRootLogin no
PasswordAuthentication yes
ChallengeResponseAuthentication no
UsePAM yes

# PAM configuration
Match Group sftp_users
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

在文件末尾添加以下内容:

Match User virtualuser
    Authentication via PAM

保存并关闭文件。

  1. 创建一个SFTP用户组

创建一个名为sftp_users的用户组,并将虚拟用户添加到该组:

sudo groupadd sftp_users
sudo usermod -aG sftp_users username1
  1. 重启SSH服务

最后,重启SSH服务以应用更改:

sudo systemctl restart ssh

现在,你应该能够使用虚拟用户通过SFTP登录到Debian系统了。请注意,这些步骤仅适用于Debian系统。在其他Linux发行版上,配置过程可能略有不同。

0
看了该问题的人还看了