linux开启sftp服务命令

worktile 其他 105

回复

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

    在Linux上开启SFTP服务可以通过以下命令来实现:

    1. 首先,确保已经安装了OpenSSH软件包。如果没有安装,在Debian或Ubuntu系统上可以使用以下命令进行安装:
    “`
    sudo apt-get install openssh-server
    “`
    在CentOS或RHEL系统上可以使用以下命令进行安装:
    “`
    sudo yum install openssh-server
    “`

    2. 在安装完成后,进入SSH服务器配置文件。在大多数Linux发行版上,配置文件的路径为`/etc/ssh/sshd_config`。
    “`
    sudo vi /etc/ssh/sshd_config
    “`

    3. 找到以下行并进行修改,确保SFTP子系统被启用:
    “`
    # 找到下面这一行并去掉行首的注释符号”#”
    Subsystem sftp /usr/lib/openssh/sftp-server
    “`

    4. 保存并关闭文件。然后重启SSH服务以使更改生效。在Debian或Ubuntu系统上可以使用以下命令:
    “`
    sudo service ssh restart
    “`
    在CentOS或RHEL系统上可以使用以下命令:
    “`
    sudo systemctl restart sshd
    “`

    至此,SFTP服务已经启用并可以使用了。请注意,只有具有系统用户账户的用户才能使用SFTP进行文件传输。使用SFTP客户端连接到Linux主机时,可以使用与SSH相同的登录凭据进行身份验证。

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

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

    1. 安装OpenSSH软件包:
    $ sudo apt-get install openssh-server (对于Debian/Ubuntu系统)
    $ sudo yum install openssh-server (对于CentOS/RHEL系统)

    2. 修改SSH配置文件:
    使用任意文本编辑器打开 /etc/ssh/sshd_config 文件:
    $ sudo vim /etc/ssh/sshd_config
    找到并确保以下行被取消注释(删除行前的’#’符号):
    Subsystem sftp internal-sftp
    并在文件的末尾添加以下内容,以限制SFTP 用户只能访问指定路径的文件:
    Match Group sftpusers
    ChrootDirectory /var/sftp/%u
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

    3. 创建SFTP用户组和目录:
    $ sudo groupadd sftpusers
    $ sudo useradd -m -s /sbin/nologin -g sftpusers sftpuser (创建名为 ‘sftpuser’ 的SFTP用户)
    $ sudo passwd sftpuser (为SFTP用户设置密码)
    $ sudo mkdir -p /var/sftp/sftpuser (创建SFTP用户的目录)
    $ sudo chown root:root /var/sftp (确保 ‘sftpuser’ 在其目录中不能创建任何目录)

    4. 重启SSH服务:
    $ sudo systemctl restart sshd.service (对于systemd系统)
    $ sudo service ssh restart (对于SysVinit系统)

    现在,SFTP服务器已经成功在Linux系统中启用。你可以使用任何SFTP客户端连接到主机,使用指定的SFTP用户名和密码进行身份验证,并访问其所在目录中的文件。

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

    在Linux系统中,可以使用OpenSSH软件包中的sftp子系统来启用SFTP(SSH File Transfer Protocol)服务。以下是在Linux中开启SFTP服务的方法和操作流程。

    1. 检查OpenSSH软件包是否安装
    使用以下命令检查OpenSSH软件包是否已安装:
    “`
    dpkg –get-selections | grep openssh-server
    “`
    如果没有输出内容,说明OpenSSH软件包未安装。可以使用以下命令安装OpenSSH软件包:
    “`
    sudo apt-get install openssh-server
    “`

    2. 配置sshd_config文件
    在启用SFTP服务之前,需要对OpenSSH服务的配置文件进行一些修改。打开`/etc/ssh/sshd_config`文件,并确保以下配置项的设置:
    “`
    # 找到并确保以下行未被注释(去掉行首的#符号)
    Subsystem sftp internal-sftp

    # 添加以下配置项到文件末尾
    Match Group sftp
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    PermitTunnel no
    X11Forwarding no
    “`

    3. 创建SFTP用户组
    可以创建一个专门用于SFTP访问的用户组。使用以下命令创建一个名为sftp的组:
    “`
    sudo groupadd sftp
    “`

    4. 创建SFTP用户
    创建一个新用户,并将其添加到sftp组中。使用以下命令创建一个名为sftpuser的用户,并将其添加到sftp组中:
    “`
    sudo useradd -m -s /bin/false -g sftp sftpuser
    “`
    这里的`-m`选项表示创建用户的家目录;`-s`选项表示设置用户的登录shell为/bin/false,即禁止登录shell,这样用户只能通过SFTP进行访问。

    5. 设置SFTP用户的密码
    使用以下命令设置sftpuser用户的密码:
    “`
    sudo passwd sftpuser
    “`
    根据提示输入新密码和确认密码。

    6. 重新加载sshd服务
    使用以下命令重新加载sshd服务以应用配置更改:
    “`
    sudo systemctl reload sshd

    “`

    7. 防火墙配置
    如果系统上运行着防火墙,需要配置防火墙以允许SFTP流量通过。例如,如果使用的是UFW防火墙,可以使用以下命令允许SFTP流量:
    “`
    sudo ufw allow OpenSSH
    “`

    通过以上步骤,您已经成功地在Linux系统上开启了SFTP服务。现在您可以使用SFTP客户端连接到该Linux系统,并进行文件传输。

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

400-800-1024

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

分享本页
返回顶部