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. BugKu之备份是个好习惯

    题目:备份是个好习惯 思路分析 打开题目,看到一个字符串. 联系到题目,就猜到肯定是源代码泄露,用工具扫一下,发现了index.php.bak,验证了我的猜想,下载下来看看. <?php /** ...

  2. 优客源创会 西安站 西邮Linux兴趣小组

    2016年5月19日晚7:00,优客源创会西安站在西安邮电大学长安校区东区教学楼FF305如期举行,西安邮电大学计算机学院教授.西邮Linux兴趣小组指导老师陈莉君.王小银老师和来自开源中国的周凯先生 ...

  3. git diff 比较差异

    说明 以下命令可以不指定 <filename>,表示对全部文件操作. 命令涉及和 Git本地仓库对比的,均可指定 commit 的版本. HEAD 最近一次 commit HEAD^ 上次 ...

  4. #web开发# 知道cookie hostonly属性的请举手。

    Cookie常见姿势.疑难梳理 目前w3c定义浏览器存放每个cookie需要包含以下字段: cookie属性 基本描述 举例 备注 name=value cookie键值对 id=a3fWa expi ...

  5. 连接url

    celery broker redis with password broker_url = 'redis://user:password@redishost:6379/0' tooz zookeep ...

  6. 高德地图 JS API (jsp + miniui(子页面数据返回父页面并设值) + 单个点标记 + 点标记经纬度 + 回显 + 限制地图显示范围+搜索)

    -*-  父页面js function mapFocus(){ //console.log("-*-"); var longitude = mini.get("jd&qu ...

  7. Python 函数 参数传递

    参数传递    在 python 中,类型属于对象,变量是没有类型的:        a=[1,2,3]        a="Runoob"    以上代码中,[1,2,3] 是 ...

  8. lilypond进阶——用scheme修改乐谱细节

    lilypond对乐谱内容的修改非常自由,用户可以自由根据需要做调整 调整一般都是用\override的命令,但是会比较冗长,码代码的时候比较麻烦 重新设置一个函数来概括命令,调用的时候使用的代码更短 ...

  9. html+css第一篇

    行间样式表 <div style="--"></div> 内部样式表 <style>----</style> 外部样式表 <l ...

  10. 浅谈java中的四个核心概念--思途青岛

    Java已经成为一个庞大而复杂的技术平台,对于开发人员而言,要想更好的掌握Java技术,深入理解底层的技术处理细节必不可少. 现在介绍下java的四个核心概念: 1.Java虚拟机 Java虚拟机的主 ...