1,下载sftp的docker 镜像:

    

docker pull atmoz/sftp

2,创建sftp容器:

    

docker run -d -p 10022:22 --name sftpd -v /home/sharefolder/:/home/test/upload atmoz/sftp test:sftptest:::upload

    说明:

    -p 10022:22 将容器默认的22端口映射为宿主机的10022端口

    --name sftpd 容器名称为sftpd

    test:sftptest:::upload  test为用户名,sftptest为密码,upload为sftp主目录

    atmoz/sftp 镜像名称

    -v /home/sharefolder/:/home/test/upload 将容器里地址 /home/test/upload挂载到宿主机的 /home/sharefolder/,/home/test/upload为sftp的主目录,上传的文件就在这里,其中/test目录为docker命令中最后test:sftptest:::upload部分而来,宿主机的目录/home/sharefolder/若不存在将自动创建

3,使用xshell连接sftp服务

    新建连接,属性填写如下:

    

    用户名密码就是刚才创建容器设置的用户名密码

4,下载文件测试

    使用xshell登录后,会显示如下命令行头部,也会提示当前默认映射的本地地址在C盘下

    

    然后在宿主机的目录/home/sharefolder/下创建一个test.txt文件,并写入内容test code   

>>touch test.txt

>>vi text.tst

    输入内容:test code

    esc :wq! 保存退出

    在容器的挂载目录下查看,已存在该test文件

    

    在sftp连接页面,使用get命令,即可拉取文件到本地默认路径,若要更改本地路径,则输入lcd命令,回车,会弹出选择本地路径的选择框,直接选择就可以:

    

    在使用get命令前,需要先cd到SFTP的主目录下,或者填写完整路径也可以

    

    我这里更改本地路径为桌面,然后进入到SFTP主目录/upload下,直接执行get test.txt,则文件将直接下载到本地桌面,下载测试完成

5,上传文件测试

    直接进入到sftp的主目录/upload 下,然后拖拽文件即可

    

6,SFTP常用命令:

cd 路径 更改远程目录到“路径”

lcd 路径 更改本地目录到“路径”

chgrp group path 将文件“path”的组更改为“group”

chmod mode path 将文件“path”的权限更改为“mode”

chown owner path 将文件“path”的属主更改为“owner”

exit 退出 sftp

help 显示这个帮助文本

get 远程路径 下载文件

ln existingpath linkpath 符号链接远程文件

ls [选项] [路径] 显示远程目录列表

lls [选项] [路径] 显示本地目录列表

mkdir 路径 创建远程目录

lmkdir 路径 创建本地目录

mv oldpath newpath 移动远程文件

open [用户@]主机[:端口] 连接到远程主机

put 本地路径 上传文件

pwd 显示远程工作目录

lpwd 打印本地工作目录

quit 退出 sftp

rmdir 路径 移除远程目录

lrmdir 路径 移除本地目录

rm 路径 删除远程文件

lrm 路径 删除本地文件

symlink existingpath linkpath 符号链接远程文件

version 显示协议版本

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐