Linux之sftp服务

一、sftp介绍
转自:
[1]Linux如何开启SFTP https://www.cnblogs.com/xuliangxing/p/7120205.html
SFTP是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的加密方法。
  SFTP与FTP有着几乎一样的语法和功能。
  SFTP为SSH的一部分,是一种传输档案至Blogger伺服器的安全方式。其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol的安全文件传输子系统,SFTP本身没
有单独的守护进程,它必须使用SSHD守护进程(端口号默认是22)来完成相应的连接操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。
  SFTP同样是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果对网络安全性要求更高时,
可以使用SFTP代替FTP。

二、开启关闭sftp
开始SSH服务,就会自动开启SFTP。关闭SSH服务,也会关闭SFTP。

1. /etc/init.d/sshd start
2. /etc/init.d/sshd stop

三、sftp常用命令
转自:
[1]sftp常用命令介绍 https://blog.csdn.net/qq_24309787/article/details/80117269
[2]SFTP服务的使用 https://www.cnblogs.com/uestc-mm/p/6365947.html

1.sftp user@ip
你要用sftp, 当然得登录到sftp服务器啊,在linux的shell中执行上面的命令后,linux shell会提示用户输入密码,我们就输入password吧。这样就成功建立了sftp连接。
2. help
建立连接后,linux shell中的$编程了sftp>, 这也对。现在执行以下help, 可以看看sftp支持哪些命令。
3. pwd和lpwd
pwd是看远端服务器的目录,即sftp服务器默认的当前目录。lpwd是看linux本地目录。
4. ls和lls
ls是看sftp服务器下当前目录下的东东, lls是看linux当前目录下的东东。
5. put a.txt
这个是把linux当前目录下的a.txt文件上传到sftp服务器的当前目录下。
put /home/fuyatao/downloads/Linuxgl.pdf /var/www/fuyatao/
这条语句将把本地/home/fuyatao/downloads/目录下的linuxgl.pdf文件上传至远程主机/var/www/fuyatao/ 目录下。
6. get b.txt
这个是把sftp服务器当前目录下的b.txt文件下载到linux当前目录下。
get /var/www/fuyatao/index.php /home/fuyatao/
这条语句将从远程主机的/var/www/fuyatao/目录下将index.php下载到本地/home/fuyatao/目录下。
7. !command
这个是指在linux上执行command这个命令, 比如!ls是列举linux当前目录下的东东, !rm a.txt是删除linux当前目录下的a.txt文件。
这个命令非常非常有用, 因为在sftp> 后输入命令, 默认值针对sftp服务器的, 所以执行rm a.txt删除的是sftp服务器上的a.txt文件, 而非本地的linux上的a.txt文件。
8. exit和quit
退出。
总之,连接后,有一个help命令,足矣足矣。

四、sftp服务配置
转自:
[1]Linux下sftp服务配置 https://www.cnblogs.com/huangyanqi/p/11304257.html
[2]linux如何搭建sftp服务器 https://www.cnblogs.com/reachos/p/11157329.html
sftp服务配置步骤:
(1)创建sftp用户组

groupadd sftp

(2)创建ftp用户

useradd -g sftp -s /sbin/nologin -M Tom
passwd Tom

(3)创建Tom家目录并指定
         注释:给家目录更改属主并授权家目录属主必须是root,权限可以是755或者750

mkdir /opt/data -p
usermod -d /opt/data Tom
chown root:root /opt/data
chmod 755 /opt/data

(4)创建可写目录

mkdir /opt/data/file -p
chown Tom:sftp /opt/data/file

(5)编辑配置文件/etc/ssh/sshd_config

注释掉X11Forwarding yes 这句话,大概在101行
注释掉Subsystem sftp /usr/libexec/openssh/sftp-server 这句话,大概在132行 并在文件末尾添加如下语句:
Subsystem sftp internal-sftp
Match User Tom
ChrootDirectory /opt/data
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no systemctl restart sshd

(6)验证

systemctl restart sshd
sftp Tom@127.0.0.1

  

五、附加
1、安装、卸载ftp服务
[1]Linux中安装,卸载ftp|sftp服务 http://www.jh-floor.com/fuwuqijiaocheng/Linux/489.html
sftp采用的是ssh加密隧道,安装性方面较ftp强,而且依赖的是系统自带的ssh服务,不像ftp还需要额外的进行安装

安装、卸载ftp服务:
安装vsftpd软件
rpm -qa |grep vsftpd #检测是否安装了vsftpd软件
yum install vsftpd -y #安装ftp服务
启动关闭服务:
service vsftpd start #启动ftp服务
service vsftpd stop #关闭ftp服务
service vsftpd restart #重启ftp服务
卸载ftp服务
rpm -qa |grep vsftp #查看vsftpd软件版本
service vsftpd stop #先关闭ftp服务
rpm -e 版本名称 #卸载vsftpd软件

2、java实现SFTP多文件上传,删除
[1]SFTP多文件上传,删除 https://www.cnblogs.com/future-eye/p/8194544.html

Linux之sftp服务的更多相关文章

  1. Linux设置SFTP服务用户目录权限

    我们有时会遇到这样的需求,限制一个Linux用户,让他只能在指定的目录下进行添加.修改.删除操作,并且只能使用sftp登录服务器,不能用ssh操作.这些可以通过配置sftp服务实现. 提供sftp服务 ...

  2. Linux - 设置SFTP服务用户目录权限

    我们有时会遇到这样的需求,限制一个Linux用户,让他只能在指定的目录下进行添加.修改.删除操作,并且只能使用sftp登录服务器,不能用ssh操作.这些可以通过配置sftp服务实现. 创建新用户www ...

  3. Linux下 sftp服务配置

    查看openssh的版本,使用ssh -V 命令来查看openssh的版本,版本必须大于4.8p1,低于的这个版本需要升级. 参考博客:https://yq.aliyun.com/articles/6 ...

  4. 转:linux 修改sftp服务默认提供者sshd的session timeout

    ssh连接超时问题解决方案: 1.修改server端的etc/ssh/sshd_config ClientAliveInterval 60 #server每隔60秒发送一次请求给client,然后cl ...

  5. Linux SSH和SFTP服务分离

    Linux SSH和SFTP服务分离 学习了:https://www.cnblogs.com/zihanxing/articles/5665383.html 都是监听22端口:

  6. linux 启动ftp服务,sftp服务

    启动ftp服务:yum install vsftpd 在/etc/rc.d/init.d/目录下:命令 service vsftp start启动ssh服务,sftp服务在/etc/init.d/目录 ...

  7. linux 上搭建sftp服务

    原文链接:https://www.cnblogs.com/yanduanduan/p/9046723.html sftp和ftp的区别 FTP是一种文件传输协议,一般是为了方便数据共享的.包括一个FT ...

  8. Linux 7.5 SSH服务和SFTP服务分离

    SFTP是SSH的一部分,SFTP没有单独的守护进程,它必须使用SSHD守护进程(端口号默认是22)来完成相应的连接操作,所以从某种意义上来说,SFTP并不像是一个服务器程序,而更像是一个客户端程序. ...

  9. Debian 8开启sftp服务

    看到某云的CDN居然是使用ftp这种早该淘汰的协议,不禁有些吐槽.ftp曾经作为互联网上最重要的协议,但漫长使用过程中体现出的各种缺点,已不适合再使用.其中最致命的问题就是明文传输用户密码.建议使用这 ...

随机推荐

  1. OAuth 2.0 的探险之旅

    前言 OAuth 2.0 全称是 Open Authorization 2.0, 是用于授权(authorization)的行业标准协议. OAuth 2.0 专注于客户端开发人员的简单性,同时为 W ...

  2. Java反射判断对象实例所有属性是否为空

    https://www.jb51.net/article/201647.htm public static Boolean ObjectAllFieldsEmpty(Object obj) throw ...

  3. 如何用webgl(three.js)搭建一个3D库房,3D密集架,3D档案室(升级版)

    很长一段时间没有写3D库房,3D密集架相关的效果文章了,刚好最近有相关项目落地,索性总结一下 与之前我写的3D库房密集架文章<如何用webgl(three.js)搭建一个3D库房,3D密集架,3 ...

  4. [loj3014]独特的城市

    约定:一棵树的深度定义为其中到根最远的点到根的距离 考虑节点$x$的答案: 任取一条直径,根据直径的性质,到$x$较远的直径端点一定是到$x$最远的点之一 由此,不难证明对于$x$独特的点,一定在$x ...

  5. [bzoj5462]新家

    先离线,将询问按照时间排序,维护商店出现和消失 对于每一个询问,先二分枚举答案,假设是ans, 即要求对于区间[l-ans,l+ans],商店的种类数是k(l是询问的位置) (当然需要先将所有位置离散 ...

  6. UNCTF2020 web writeup

    1.Easy_ssrf 给了file_get_contents,直接读取flag即可 2.Easyunserialize 利用点在 构造uname反序列化逃逸即可 3.Babyeval 两个过滤,绕过 ...

  7. Furion分表分库我也要happy coding

    Furion分表分库集成ShardingCore ShardingCore ShardingCore 易用.简单.高性能.普适性,是一款扩展针对efcore生态下的分表分库的扩展解决方案,支持efco ...

  8. 测试平台系列(81) 编写在线执行Redis功能

    大家好~我是米洛! 我正在从0到1打造一个开源的接口测试平台, 也在编写一套与之对应的完整教程,希望大家多多支持. 欢迎关注我的公众号测试开发坑货,获取最新文章教程! 回顾 上一节我们牛刀小试,编写了 ...

  9. javascript-初级-day07

    day01-运算符 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type&quo ...

  10. 力扣 - 剑指 Offer 42. 连续子数组的最大和

    题目 剑指 Offer 42. 连续子数组的最大和 思路1(分析数组的规律) 我们可以从头到尾逐个累加,若之前的累加和小于0,那就从丢弃之前的累加,从当前开始重新累加,同时在遍历过程中比较记录下最大值 ...