ubuntu

Ubuntu SFTP如何设置虚拟用户

小樊
34
2025-05-22 14:56:59
栏目: 云计算

在Ubuntu上设置SFTP虚拟用户,您需要遵循以下步骤:

  1. 安装必要的软件包

首先,确保您的系统已安装了OpenSSH服务器和PAM(可插拔认证模块)。如果没有,请运行以下命令来安装它们:

sudo apt-get update
sudo apt-get install openssh-server libpam-pwquality
  1. 创建一个新用户

使用以下命令创建一个新用户(将your_username替换为您选择的用户名):

sudo adduser your_username

按照提示设置密码和其他选项。完成后,切换到新创建的用户:

sudo su - your_username
  1. 创建一个虚拟用户的家目录

为新用户创建一个家目录,并设置适当的权限:

mkdir /home/your_username
chown root:root /home/your_username
chmod 755 /home/your_username
  1. 配置SSH和PAM

编辑/etc/ssh/sshd_config文件,以允许使用PAM进行认证:

sudo nano /etc/ssh/sshd_config

在文件末尾添加以下行:

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

保存并关闭文件。

  1. 创建一个PAM配置文件

创建一个名为/etc/pam.d/virtual-sftp的新文件:

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

添加以下内容:

auth required pam_pwquality.so retry=3 minlen=8 difok=4
auth required pam_listfile.so item=user sense=deny file=/etc/ssh/deny_users onerr=succeed
auth sufficient pam_unix.so nullok
account required pam_unix.so

保存并关闭文件。

  1. 创建一个用户组

创建一个名为sftp_users的新用户组:

sudo groupadd sftp_users

将新创建的用户添加到该组:

sudo usermod -aG sftp_users your_username
  1. 配置SSH服务器

编辑/etc/ssh/sshd_config文件,以启用PAM认证:

sudo nano /etc/ssh/sshd_config

找到#AuthenticationMethods行(如果没有,请添加它),并取消注释以下内容:

AuthenticationMethods publickey,keyboard-interactive:pam

保存并关闭文件。

  1. 重启SSH服务

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

sudo systemctl restart ssh

现在,您应该能够使用新创建的虚拟用户通过SFTP连接到您的Ubuntu服务器。请注意,您可能需要根据实际情况调整防火墙设置,以允许SFTP连接。

0
看了该问题的人还看了