服务器如何开启sftp

不及物动词 其他 107

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    要在服务器上开启SFTP(SSH File Transfer Protocol),可以按照以下步骤进行操作:

    步骤一:确保服务器已安装OpenSSH服务
    首先,确保服务器已安装了OpenSSH服务。如果没有安装,可以通过以下命令来安装:
    sudo apt-get install openssh-server
    或者
    sudo yum install openssh-server

    步骤二:修改OpenSSH配置文件
    接下来,需要修改OpenSSH的配置文件以启用SFTP功能。在终端中使用以下命令打开OpenSSH的配置文件:
    sudo vi /etc/ssh/sshd_config

    找到以下行:
    #Subsystem sftp /usr/lib/openssh/sftp-server

    将其修改为:
    Subsystem sftp internal-sftp
    并添加以下几行:
    Match group sftp
    ChrootDirectory %h
    ForceCommand internal-sftp
    X11Forwarding no
    AllowTcpForwarding no

    保存并关闭文件。

    步骤三:重启OpenSSH服务
    完成配置修改后,需要重启OpenSSH服务,使配置生效。使用以下命令重启OpenSSH服务:
    sudo service ssh restart
    或者
    sudo systemctl restart ssh

    步骤四:创建SFTP用户
    现在,可以创建一个专门用于SFTP的用户。使用以下命令创建一个新用户(以用户名 "sftpuser" 为例):
    sudo useradd sftpuser

    设置该用户的密码:
    sudo passwd sftpuser

    步骤五:设置SFTP用户的主目录
    为了限制SFTP用户只能在特定目录下操作,需要设置SFTP用户的主目录。使用以下命令设置主目录(以 "/home/sftpuser" 为例):
    sudo usermod -d /home/sftpuser sftpuser

    确保指定的目录存在并且可写。

    步骤六:配置用户组权限
    为了确保SFTP用户能够访问其主目录,需要将其添加到 "sftp" 用户组中。使用以下命令将用户添加到组中:
    sudo usermod -aG sftp sftpuser

    步骤七:重启OpenSSH服务
    完成以上步骤后,重新启动OpenSSH服务以使配置生效:
    sudo service ssh restart
    或者
    sudo systemctl restart ssh

    至此,SFTP已经成功开启。现在,您可以使用任何支持SFTP协议的客户端连接到服务器,并使用相应的SFTP用户进行文件传输。请注意,SFTP用户将被限制在其主目录中。

    1年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    要开启SFTP服务器,您可以按照以下步骤进行操作:

    1. 安装OpenSSH服务器:SFTP是通过OpenSSH服务器进行的,因此首先需要安装OpenSSH服务器软件包。在Linux系统上,您可以使用包管理器来安装OpenSSH服务器。例如,在Ubuntu上,您可以运行以下命令来安装OpenSSH服务器:

      sudo apt-get install openssh-server
      

      在Windows系统上,您可以下载OpenSSH服务器的安装程序,并按照安装向导进行安装。

    2. 配置OpenSSH服务器:安装完OpenSSH服务器后,您需要进行一些配置来启用SFTP。配置文件的位置可能会有所不同,具体取决于您所使用的操作系统。在大多数Linux系统上,OpenSSH服务器的配置文件为/etc/ssh/sshd_config。在Windows系统上,配置文件的位置可能是C:\Program Files\OpenSSH\sshd_config

      • 打开配置文件,并找到Subsystem的部分。取消注释(删除前面的#)并修改这一部分,使其如下所示:
      Subsystem sftp /usr/lib/openssh/sftp-server
      
      • 在文件的末尾,添加如下两行,以限制允许使用SFTP的用户:
      AllowGroups sftpusers
      DenyGroups filetransferusers
      

      这里AllowGroups指定了所需使用SFTP的用户组,DenyGroups指定了禁止使用SFTP的用户组。您可以根据需要进行相应的修改。

    3. 创建SFTP用户:在设置中指定的用户组中创建用户。例如,在创建名为sftpuser的用户并将其添加到sftpusers组中,可以运行以下命令:

      sudo adduser sftpuser
      sudo usermod -aG sftpusers sftpuser
      

      您可以根据需要创建多个SFTP用户。

    4. 重启OpenSSH服务器:完成配置后,您需要重启OpenSSH服务器以使更改生效。在Linux系统上,您可以运行以下命令来重启OpenSSH服务器:

      sudo service sshd restart
      

      在Windows系统上,可以使用任务管理器找到OpenSSH服务器进程并将其结束,然后重新启动OpenSSH服务器。

    5. 连接SFTP服务器:现在,您可以使用任何SFTP客户端来连接SFTP服务器了。您需要提供服务器的IP地址(或主机名)、端口号(默认为22)、用户名和密码。一些常用的SFTP客户端包括FileZilla、WinSCP和Cyberduck等。

      • 在FileZilla中,您可以使用“文件”->“站点管理器”中的选项来添加SFTP服务器的连接信息。然后,单击“连接”按钮来连接SFTP服务器。

      • 在WinSCP中,您可以使用“会话”->“站点管理器”中的选项来添加SFTP服务器的连接信息。然后,单击“登录”按钮来连接SFTP服务器。

      • 在Cyberduck中,您可以使用“打开连接”按钮来添加SFTP服务器的连接信息。然后,单击“连接”按钮来连接SFTP服务器。

      连接成功后,您就可以使用SFTP客户端在服务器和本地计算机之间传输文件了。

    请注意,上述步骤是一种常见的设置方法,具体操作可能会因操作系统、OpenSSH版本等而有所不同。建议参考相关操作系统和OpenSSH服务器的文档或指南,以了解适用于您特定环境的准确步骤。

    1年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    开启SFTP服务器可以让用户通过SSH协议进行文件传输。下面是具体的方法和操作流程。

    1. 环境准备
      在开始之前,请确保已经安装了OpenSSH软件包,该软件包包含了SFTP服务器的相关组件。

    2. 配置SSH服务器
      首先,需要编辑SSH服务器的配置文件来启用SFTP功能。打开SSH服务器的配置文件,一般位于/etc/ssh/sshd_config路径下。

      $ sudo vi /etc/ssh/sshd_config
      

      在文件中找到下面的内容并取消注释:

      #Subsystem sftp /usr/lib/openssh/sftp-server
      

      配置文件中默认的sftp服务器路径为/usr/lib/openssh/sftp-server,如果路径不同,可以根据实际情况进行修改。

    3. 重启SSH服务器
      修改配置文件后,需要重新启动SSH服务器以使更改生效。

      $ sudo systemctl restart sshd
      
    4. 设置用户的SFTP访问权限
      默认情况下,所有系统用户都具有SFTP访问权限。如果你想限制用户的SFTP访问权限,可以进行以下设置。

      • /etc/ssh/sshd_config文件中添加下面的内容,用以限制用户的SFTP访问:
      Match User username
          ForceCommand internal-sftp
          ChrootDirectory /home/username
          PermitTunnel no
          AllowAgentForwarding no
          AllowTcpForwarding no
          X11Forwarding no
      

      username替换为实际的用户名,ChrootDirectory指定了用户的根目录,ForceCommand指定了用户只能使用SFTP命令。

      • 保存文件后,重新启动SSH服务器以使更改生效。
    5. 创建用户并设置SFTP访问权限
      如果想给某个用户开通SFTP访问权限,首先创建用户,然后设置其SFTP访问权限。

      $ sudo adduser username
      $ sudo usermod -d /home/username -s /usr/lib/openssh/sftp-server username
      

      username替换为实际的用户名。

    6. 测试SFTP访问
      安装完成后,可以使用任何支持SFTP的客户端应用程序来测试SFTP访问。常用的包括FileZilla、WinSCP等。

      使用SSH登录到远程服务器,并使用SFTP命令进行文件传输。

      $ sftp username@hostname
      

      使用此命令登录到远程服务器的username账户。

      在SFTP命令提示符下,可以使用常用的文件传输命令,如getputls等。

    以上便是在Linux服务器上开启SFTP服务器的方法和操作流程。根据实际需求和系统配置,还可以进行更多的设置和调整。

    1年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部