要设置 CentOS 上的 SFTP 自动登录,您需要创建一个特定的用户组、配置 SSH 服务器以允许 SFTP 访问,并为特定用户配置自动登录。以下是详细步骤:
创建一个新的用户组(可选):
sudo groupadd sftp_users
为用户创建一个新账户(如果尚未创建):
sudo adduser your_username
将用户添加到新创建的用户组(如果创建了用户组):
sudo usermod -aG sftp_users your_username
禁用用户的密码登录并启用公钥认证。首先,确保您已经在客户端生成了 SSH 密钥对,并将公钥复制到服务器上的 ~/.ssh/authorized_keys 文件中。然后,编辑服务器上的 /etc/ssh/sshd_config 文件,找到以下行并进行修改:
PasswordAuthentication no
PubkeyAuthentication yes
为了允许 SFTP 用户访问特定目录,您需要在服务器上创建一个新目录并设置正确的权限。例如,创建一个名为 sftp_data 的目录:
sudo mkdir /sftp_data
更改新目录的所有者和组:
sudo chown root:root /sftp_data
sudo chmod 755 /sftp_data
为新用户分配一个主目录,并将其添加到 sftp_users 组:
sudo usermod -d /sftp_data your_username
sudo usermod -aG sftp_users your_username
重启 SSH 服务以应用更改:
sudo systemctl restart sshd
现在,当您使用 SFTP 客户端连接到服务器时,应自动登录到指定的用户账户。请注意,这些步骤可能需要根据您的具体需求进行调整。