如何开启服务器sftp服务

不及物动词 其他 773

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    开启服务器SFTP服务的方法如下:

    1. 安装OpenSSH服务器:首先,确保你的服务器上已安装了OpenSSH服务器软件。如果没有安装,使用包管理工具安装OpenSSH服务器。例如,对于Ubuntu和Debian系统,可以使用以下命令进行安装:

      sudo apt-get install openssh-server
      
    2. 配置OpenSSH服务器:配置文件位于/etc/ssh/sshd_config,使用文本编辑器打开该文件:

      sudo nano /etc/ssh/sshd_config
      

      找到以下几行配置项,取消注释(去掉行首的#号)并根据需要进行修改:

      # 默认情况下 SFTP 是被禁用的,取消注释以启用SFTP
      #Subsystem sftp /usr/lib/openssh/sftp-server
      
      # 指定SFTP的子系统路径,如果你的系统上路径不同,请进行相应更改
      Subsystem sftp internal-sftp
      
      # 指定SFTP使用的监听地址和端口,如果不需要更改,可以保持默认
      # 使用 # 开头的行表示注释,不会起作用
      #ListenAddress 0.0.0.0
      #Port 22
      
      # 指定SFTP的根目录,即用户会话的起始位置
      # 路径可以是绝对路径或相对路径,如果相对路径,表示相对于用户的主目录
      # 默认情况下,用户会话的根目录为/home/username
      # 这个例子中为每个用户指定了一个子目录,可以自行根据实际需求进行修改
      #Match Group sftpusers
      #ChrootDirectory %h
      #ForceCommand internal-sftp
      

      修改完成后,保存并关闭文件。

    3. 重启SSH服务:修改配置后,需要重启SSH服务以使更改生效。使用以下命令重启SSH服务:

      sudo systemctl restart sshd
      
    4. 创建SFTP用户:要使用SFTP服务,需要创建对应的用户账户。可以使用以下命令创建一个SFTP用户:

      sudo adduser sftpuser
      

      根据提示设置用户密码等信息。

    5. 设置SFTP用户的根目录:默认情况下,SFTP用户的根目录是其主目录(/home/username)。如果需要将根目录设置为其他目录,可以修改/etc/ssh/sshd_config文件中的ChrootDirectory配置项,取消注释并设置相应的路径(注意设置绝对路径)。

    6. 限制SFTP用户的访问权限(可选):如果需要限制SFTP用户只能在其根目录下进行操作,可以使用chroot实现。在/etc/ssh/sshd_config文件中,找到匹配SFTP用户的Match块,取消相应行的注释,并设置ChrootDirectoryForceCommand。例如:

      Match User sftpuser
      ChrootDirectory /var/sftp
      ForceCommand internal-sftp
      

      这样,SFTP用户将被限制在/var/sftp目录中。

    7. 重新启动SSH服务:再次重启SSH服务以使更改生效。

    现在,你的服务器已经开启了SFTP服务。可以使用支持SFTP协议的FTP客户端连接到服务器并进行文件传输了。

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

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

    1. 安装OpenSSH服务器:首先,确保您的服务器上已经安装了OpenSSH服务器。如果还没有安装,可以通过以下命令安装:
    sudo apt-get install openssh-server
    
    1. 配置OpenSSH服务器:安装完成后,需要对OpenSSH服务器进行一些配置。打开OpenSSH配置文件,可以使用以下命令:
    sudo nano /etc/ssh/sshd_config
    

    在配置文件中,找到以下两行并取消注释(即去掉前面的井号):

    Subsystem sftp internal-sftp
    Match group sftp
    
    1. 创建SFTP所用的群组:在配置文件中,找到以下行并取消注释:
    #Subsystem sftp /usr/lib/openssh/sftp-server
    

    将其修改为:

    Subsystem sftp internal-sftp
    

    然后,在配置文件的最下方添加以下内容:

    Match group sftp
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    

    保存并关闭该文件。

    1. 创建SFTP用户:使用以下命令创建一个新的用户,并将其添加到sftp群组:
    sudo adduser sftpuser -ingroup sftp
    

    接下来,设置该用户的密码:

    sudo passwd sftpuser
    
    1. 重启OpenSSH服务器:完成以上步骤后,使用以下命令重启OpenSSH服务器:
    sudo service ssh restart
    

    现在,您的服务器的SFTP服务已经成功开启。通过使用SFTP客户端,您可以通过指定服务器IP地址、SFTP端口号,以及刚刚创建的SFTP用户名和密码来访问服务器。

    1年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    开启服务器SFTP(SSH文件传输协议)服务可以实现安全地文件传输和远程文件访问。下面是开启服务器SFTP服务的方法和操作流程:

    1. 检查服务器是否已安装并启用OpenSSH服务:

      • 在 Linux 上,可以通过运行以下命令来检查 OpenSSH 服务的状态:
        systemctl status sshd
        
      • 在 Windows Server 上,打开「服务」管理器,查找并确认 OpenSSH 服务是否正在运行。
    2. 配置OpenSSH:

      • 在 Linux 上,可以使用文本编辑器(如vi或nano)打开 /etc/ssh/sshd_config 文件,并确保以下配置项没有被注释(去掉前面的#):

        Subsystem sftp /usr/lib/openssh/sftp-server
        
      • 在 Windows Server 上,可以通过编辑 ssh/sshd_config 文件来配置 OpenSSH。去掉以下配置行的注释(#):

        Subsystem sftp sftp-server.exe
        
      • 保存并关闭文件,然后重新启动SSH服务:

        • 在 Linux 上运行以下命令:

          systemctl restart sshd
          
        • 在 Windows Server 上,重启 OpenSSH 服务。

    3. 创建SFTP用户:

      • 在 Linux 上,可以使用以下命令创建新用户(如果还没有):

        sudo adduser sftpuser
        
        • 这将在系统上创建一个新用户。根据提示设置密码等信息。
      • 在 Windows Server 上,可以使用以下命令创建本地用户(如果还没有):

        net user sftpuser password /add
        
        • 这将在系统上创建一个新用户。将 sftpuser 替换为您希望使用的用户名,将 password 替换为您希望为该用户设置的密码。
    4. 配置SFTP用户的根目录:

      • 在 Linux 上,可以通过编辑 /etc/ssh/sshd_config 文件来为SFTP用户指定根目录。在文件末尾添加以下内容:

        Match User sftpuser
        ChrootDirectory /path/to/sftp/root
        ForceCommand internal-sftp
        X11Forwarding no
        AllowTcpForwarding no
        
        • sftpuser 替换为您创建的SFTP用户的用户名,并将 /path/to/sftp/root 替换为您希望为该用户使用的SFTP根目录。
      • 在 Windows Server 上,可以在 sshd_config 文件中指定 ChrootDirectory。打开 C:\ProgramData\ssh\sshd_config 文件,并添加以下内容:

        Match User sftpuser
        ChrootDirectory C:/path/to/sftp/root
        ForceCommand internal-sftp
        AllowTcpForwarding no
        
        • sftpuser 替换为您创建的SFTP用户的用户名,并将 C:/path/to/sftp/root 替换为您希望为该用户使用的SFTP根目录。
    5. 重启SSH服务:

      • 在 Linux 上执行以下命令:

        systemctl restart sshd
        
      • 在 Windows Server 上重新启动 OpenSSH 服务。

    现在,您的服务器上的SFTP服务已经开启并可以通过SSH客户端进行访问。例如,您可以使用FileZilla等SFTP客户端连接到服务器,并使用指定的SFTP用户账号和密码进行远程文件传输和访问。

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

400-800-1024

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

分享本页
返回顶部