优选优质主机商
推荐性价比主机方案

Linux系统环境安装SFTP服务器的方法

对于SFTP我们可能看到的不多,FTP是看到比较多的,其实SFTP和FTP都是数据传输的方式。SFTP代表SSH文件传输协议它允许用户通过加密连接向Linux服务器上传和下载文件。FTP传输数据是没有加密的,反之SFTP是加密的,在安全性上SFTP更有优势。

设置SFTP非常简单。我们需要在服务器端安装OpenSSH,在客户端安装SSH包。这里,我们用的是Ubuntu环境,如果我们用CentOS的话命令稍微要改一些。比如 apt或者apt-get 改成 yum。

sudo apt install openssh-server

我们这里还需要在将要访问SFTP服务器的系统上使用SSH。

sudo apt install ssh

完成此操作后,我们还需要对SFTP设置账户信息。

第一、创建账户和目录

创建用户组

sudo groupadd sftpg

让我们创建一个名为”seenisftp”的用户,并将他添加到上面的组中,并给他一个密码。

sudo useradd -g sftpg seenisftp 
sudo passwd seenisftp

在useradd命令中,-g 参数是用来告诉组应该添加哪个用户。我们可以列出Linux中的所有用户,并验证新用户是否已添加。让我们创建目录,并按如下方式更改它们的访问和所有权。

sudo mkdir -p /data/seenisftp/upload
sudo chown -R root.sftpg /data/seenisftp
sudo chown -R seenisftp.sftpg /data/seenisftp/upload

第二、设置sshd_config

接下来,我们需要配置ssh服务器,以便每当属于sftpg组的用户登录时,进入sftp,而不是通过ssh获得的正常shell。如果/etc/ssh/sshd_config不存在,则将以下代码段追加到/etc/ssh/sshd_config。

Match Group sftpg
        ChrootDirectory /data/%u
        ForceCommand internal-sftp

在上面的代码片段中,ChrootDirectory允许将指定的目录作为目录树中的根(“/”目录)节点。登录用户不能看到该目录以上的任何内容。因此,它将阻止当前用户通过sftp访问其他用户的文件。%u是转义码,用于在登录时用当前用户名填充它。当seenisftp通过sftp登录时,他将在/data/seenisftp作为他的根目录。他将无法看到上面的任何东西。

第三、重启生效问题

要使我们对sshd_config所做的更改生效,请按如下方式重新启动服务。

sudo systemctl restart sshd

通过Linux命令行访问SFTP。

sftp seenisftp@banwagongvps.com

SFTP命令示例

SFTP命令通常有以下格式:

COMMAND [SOURCE] [DESTINATION]

SFTP常用实例:

1)连接远程服务器

sftp remote_user@remote_host

2)使用端口进行连接

sftp -P remote_port remote_user@remote_host

3)从远程服务器拉取文件

get /path/remote_file

4)上传本地文件到服务器

put local_file

5)查看远程服务器目录内容

ls

6)查看本地目录内容

lls

7)执行本地 Shell 命令

![command]
赞(0)
未经允许不得转载:搬瓦工VPS中文网 » Linux系统环境安装SFTP服务器的方法

相关推荐

  • 暂无文章