百度
360搜索
搜狗搜索

linux如何设置sftp详细介绍

在 Linux 系统上设置 SFTP(SSH File Transfer Protocol),你可以按照以下步骤操作:

1. 确认 OpenSSH 服务器已安装

大多数 Linux 发行版默认安装了 OpenSSH 服务器,它包含了 SFTP 服务所需的组件。你可以通过以下命令来检查和安装 OpenSSH 服务器:

Ubuntu/Debian 系统

bash

  update

openssh-server

CentOS/RHEL 系统

bash

 yum  openssh-server

2. 配置 SSH 服务以启用 SFTP

编辑 SSH 服务的配置文件 /etc/ssh/sshd_config,可以使用 vim 或者 nano 编辑器。
bash

  /etc/ssh/sshd_config

在文件中进行如下配置:

  • 确保 Subsystem 行的配置正确,用于启用 SFTP 子系统:

plaintext

Subsystem sftp internal-sftp

  • 如果你想限制某些用户只能使用 SFTP,而不能使用 SSH 登录,可以添加如下配置:

plaintext

Match Group sftpusers

ChrootDirectory %h

ForceCommand internal-sftp

AllowTcpForwarding no

X11Forwarding no

这里的 sftpusers 是一个用户组名,你可以根据需要自定义。ChrootDirectory %h 表示将用户的根目录限制为其家目录,增强安全性。

3. 创建 SFTP 用户组和用户

创建用户组

bash

  sftpusers

创建用户并将其添加到用户组

bash

    sftpusers  /bin/false sftpuser

  • -m:创建用户的家目录。
  • -g:指定用户所属的组。
  • -s /bin/false:禁止用户通过 SSH 登录系统。

设置用户密码

bash

  sftpuser

4. 调整目录权限

为了使 ChrootDirectory 生效,用户的家目录及其上级目录的所有者必须是 root,并且权限不能太开放。
bash

  root:root /home/sftpuser

/home/sftpuser

如果你想让用户可以上传文件,还需要在其家目录下创建一个可写的子目录:
bash

  /home/sftpuser/upload

sftpuser:sftpusers /home/sftpuser/upload

/home/sftpuser/upload

5. 重启 SSH 服务

配置完成后,需要重启 SSH 服务使配置生效。

Ubuntu/Debian 系统

bash

 systemctl restart 

CentOS/RHEL 系统

bash

 systemctl restart sshd

6. 测试 SFTP 连接

你可以使用 sftp 命令来测试连接:
bash

 sftpuser@your_server_ip




912sftp sftpuser@your_server_ip

输入用户密码后,如果成功连接,你将看到 sftp> 提示符,此时可以使用 putget 等命令进行文件的上传和下载操作。

通过以上步骤,你就可以在 Linux 系统上成功设置并使用 SFTP 服务了。

阅读更多 >>>  linux怎么设置远程登录

网站数据信息

"linux如何设置sftp"浏览人数已经达到17次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:linux如何设置sftp的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!