Php 在服务器上实现设置SFTP的步骤

Php 在服务器上实现设置SFTP的步骤,php,sftp,Php,Sftp,请任何人解释一下SFTP,以及如何在我的服务器上设置它以确保数据传输的安全。如果你一步一步地解释会更好。你可能不想使用。对于使用PHP的安全文件传输,最简单的解决方案是(HTTPS) 具体步骤取决于您的web服务器。您可能不想使用。对于使用PHP的安全文件传输,最简单的解决方案是(HTTPS) 具体步骤取决于您的web服务器。在linux机器上,大致如下(假设您有OpenSSH): 编辑sshd_config(在redhat flavors和Clone上的/etc/ssh中),并取消对启用SF

请任何人解释一下SFTP,以及如何在我的服务器上设置它以确保数据传输的安全。如果你一步一步地解释会更好。

你可能不想使用。对于使用PHP的安全文件传输,最简单的解决方案是(HTTPS)


具体步骤取决于您的web服务器。

您可能不想使用。对于使用PHP的安全文件传输,最简单的解决方案是(HTTPS)


具体步骤取决于您的web服务器。

在linux机器上,大致如下(假设您有OpenSSH):

  • 编辑sshd_config(在redhat flavors和Clone上的/etc/ssh中),并取消对启用SFTP子系统的行的注释。每当我这样做的时候,它通常在文件的底部。如果看不到该行(以“子系统sftp”开头),请执行以下操作:
    • 在文件系统中找到“sftp服务器”程序(在我的CentOS机箱中,它位于/usr/libexec/openssh中)
    • echo“Subsystem sftp/path/to/sshd server”>/path/to/sshd_config
      (注意这两个>,把它们都放进去,否则会覆盖现有的SSH配置!)
  • 重新启动sshd,无论您如何操作。在redhat风格的发行版上,
    服务sshd restart
    应该可以做到这一点

这足以使SFTP启用。完成后,您需要为您的SFTP用户创建帐户并设置密码。请注意,每个用户通常也具有SSH访问权限——将shell设置为/sbin/nologin或/bin/false也将禁用SFTP。不过,如果您有cPanel,那么它的“无shell访问”shell似乎可以很好地支持SFTP而不是SSH。(似乎这个问题可能与cPanel的no-shell thingie所做的延迟有关,这将给SFTP子系统启动时间。)

在linux机器上,情况非常类似(假设您有OpenSSH):

  • 编辑sshd_config(在redhat flavors和Clone上的/etc/ssh中),并取消对启用SFTP子系统的行的注释。每当我这样做的时候,它通常在文件的底部。如果看不到该行(以“子系统sftp”开头),请执行以下操作:
    • 在文件系统中找到“sftp服务器”程序(在我的CentOS机箱中,它位于/usr/libexec/openssh中)
    • echo“Subsystem sftp/path/to/sshd server”>/path/to/sshd_config
      (注意这两个>,把它们都放进去,否则会覆盖现有的SSH配置!)
  • 重新启动sshd,无论您如何操作。在redhat风格的发行版上,
    服务sshd restart
    应该可以做到这一点
这足以使SFTP启用。完成后,您需要为您的SFTP用户创建帐户并设置密码。请注意,每个用户通常也具有SSH访问权限——将shell设置为/sbin/nologin或/bin/false也将禁用SFTP。不过,如果您有cPanel,那么它的“无shell访问”shell似乎可以很好地支持SFTP而不是SSH。(问题似乎与cPanel的no shell thingie所做的延迟有关,这将给SFTP子系统启动时间。)