sftp 订阅
在计算机领域,SSH文件传输协议(英语:SSH File Transfer Protocol,也称Secret File Transfer Protocol,中文:安全文件传送协议,英文:Secure FTP或字母缩写:SFTP)是一数据流连接,提供文件访问、传输和管理功能的网络传输协议。 展开全文
在计算机领域,SSH文件传输协议(英语:SSH File Transfer Protocol,也称Secret File Transfer Protocol,中文:安全文件传送协议,英文:Secure FTP或字母缩写:SFTP)是一数据流连接,提供文件访问、传输和管理功能的网络传输协议。
信息
外文名
SSH File Transfer Protocol
领    域
计算机领域
中文名
SSH文件传输协议
也    称
SFTP
SSH文件传输协议简介
在计算机领域,由互联网工程任务组 (IETF) 设计,透过SSH-2的扩充提供安全档案传输能力,但也能够被其它协定使用。 即使 IETF 在网络草案资料阶段时,这个协定是在SSH-2文件中描述,它能够使用在许多不同的应用程式,例如安全档案传输在传输层安全(TLS)和传输资讯管理于虚拟私人网络应用程式。 这个协定是假设执行在安全信道,例如SSH,服务器已经认证客户端,并且客户端使用者可利用协定。 [1] 
收起全文
精华内容
下载资源
问答
  • sftp

    2020-07-03 10:11:55
    ------------------sftp在xshell工具中使用------------------ 默认是用传输ssh协议,把它更改为sftp协议 (前题是这个目标IP装了sftp服务端) 1、建立连接 然后连接确定,根据提示输入保存账号即可。 2...

     

    1、常用命令

     lcd D:\work\Xshell\save\sftp   ------------------修改本地保存路径

    get pcs-core-0.0.1-SNAPSHOT.jar
     

     


    get 文件名 ------------------下载文件
    put 文件名 ------------------上传文件
    pwd  ------------------是看远端服务器的目录, 即sftp服务器默认的当前目录。 
     lpwd  ------------------是看linux本地目录。
    ls  ------------------是看sftp服务器下当前目录下的文件,
     lls  ------------------是看linux当前目录下的文件。
    lcd ------------------修改本地保存路径--巧记local+cd

     

    ------------------sftp在xshell工具中使用------------------

     

    默认是用传输ssh协议,把它更改为sftp协议

    (前题是这个目标IP装了sftp服务端)

    1、建立连接


    然后连接确定,根据提示输入保存账号即可。

    2、常用命令


    get 文件名 ------------------下载文件
    put 文件名 ------------------上传文件
    pwd  ------------------是看远端服务器的目录, 即sftp服务器默认的当前目录。 
     lpwd  ------------------是看linux本地目录。
    ls  ------------------是看sftp服务器下当前目录下的文件,
     lls  ------------------是看linux当前目录下的文件。
    lcd ------------------修改本地保存路径--巧记local+cd

    -------------------sftp和ssh协议的区别-------------------


    一 sftp 协议

    SFTP协议工作于OSI七层体系的应用层.sftp是一个加密传输协议
    SFTP协议能够进行“远程文件获取,文件内容传输,文件管理”等操作.它的控制信号和数据信号的传输通过安全数据通道进行。一般情况下,这个安全数据通道由SSH连接提供,即SSH连接隧道作为安全数据通道。

    SFTP协议分为两个端,分别是SFTP Client和SFTP Server。


    二 SSH协议

    传输层协议 ,Secure Shell 缩写,
    ssh的作用:可以替代Telnet,也可以为FTP,Pop,甚至PPP提供安全的通道。

    -------------------sftp基础-------------------

    sftp 是 Secure File Transfer Protocol 的缩写,安全文件传送协议

    一、sftp 搭建

    (1) 创建 sftp 组

    groupadd sftp
    # -g 用户组; -d 指定家目录; -s 不登陆; -M 不创建家目录 
    useradd -g sftp -d /data/sftp/sftpuser -s /sbin/nologin sftpuser
    echo 123456 | passwd --stdin sftpuser
    

    (2) 修改 sshd_config 配置

    vim /etc/ssh/sshd_config
    
    #Subsystem      sftp    /usr/libexec/openssh/sftp-server
    Subsystem sftp internal-sftp
    Match Group sftp
    ChrootDirectory /data/sftp/%u
    ForceCommand internal-sftp
    
    # 下面两项是与安全有关
    AllowTcpForwarding no
    X11Forwarding no
    
    • Match Group sftp 这一行是指定以下的子行配置是匹配 sftp 用户组的。Match user userA,userB 则是匹配用户。
    • ChrootDirectory /data/sftp/%u 设定属于用户组 sftp 的用户访问的根文件夹。%h 代表用户 home 目录,%u 代表用户名。
    • ForceCommand internal-sftp 该行强制执行内部 sftp,并忽略任何 ~/.ssh/rc 文件中的命令。
    • AllowTcpForwarding no 是否允许 TCP 转发,默认值为 "yes", 禁止 TCP 转发并不能增强安全性,除非禁止了用户对 shell 的访问,因为用户可以安装他们自己的转发器。
    • X11Forwarding no 是否允许进行 X11 转发。默认值是 "no",设为 "yes" 表示允许。如果允许 X11 转发并且 sshd(8)代理的显示区被配置为在含有通配符的地址(X11UseLocalhost)上监听。那么将可能有额外的信息被泄漏。由于使用 X11 转发的可能带来的风险,此指令默认值为"no"。需要注意的是,禁止 X11 转发并不能禁止用户转发 X11 通信,因为用户可以安装他们自己的转发器。

    (3) 权限设置

    要实现 Chroot 功能, 目录权限的设置非常重要 。否则无法登录,给出的错误提示也让人摸不着头脑,无从查起。我在这上面浪费了很多时间。

    ChrootDirectory:定义了用户通过认证以后的 chroot 目录,此目录及其所有子目录的属主必须是 root,且这些目录只有 root 帐号可以进行写操作,其他任何组和帐号都不可写。chroot 以后,sshd 会将用户的工作目录转到 chroot 目录中用户自己的主目录。如果 ChrootDirectory 定义的目录下没有相应的 /home/username 目录,则会直接转到 chroot 的 / 目录下。

    chown root:root /data/sftp/sftpuser
    chmod 755 /data/sftp/sftpuser
    

    目录权限设置上要遵循2点:

    • ChrootDirectory 设置的目录权限及其所有的上级文件夹权限,属主和属组必须是 root;
    • ChrootDirectory 设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,权限最大设置只能是 755。

    (4) 建立 SFTP 用户可写目录

    由于 /data/sftp/sftpuser 的用户是 root,其它用户都没有写的权限,所有要有该目录下新建一个目录用于文件的上传下载。

    mkdir -p /data/sftp/sftpuser/upload
    chown sftpuser:sftp /data/sftp/sftpuser/upload
    chmod 755 /data/sftp/sftpuser/upload
    

    (5) 测试

    sftp -P2022 sftpuser@172.16.16.126
    sftp> pwd
    Remote working directory: /upload
    sftp> lls
    1  anaconda-ks.cfg  zookeeper.out
    sftp> put anaconda-ks.cfg 
    Uploading anaconda-ks.cfg to /upload/anaconda-ks.cfg
    anaconda-ks.cfg                                         100% 1839    39.4KB/s   00:00    
    

    二、SFTP 配置

    2.1 MaxStartups 1000:30:3000

    同时允许几个尚未登入的联机画面,所谓联机画面就是在你 ssh 登录的时候,没有输入密码的阶段

    MaxStartups 10:30:100    # start:rate:full
    
    • start:表示未完成认证的连接数
    • rate:当未完成认证的连接数超过 start 时,rate/100 表示新发起的连接有多大的概率被拒绝连接。
    • full:如果未完成认证的连接数达到 full,则新发起的连接全部拒绝。

    查看 sshd 配置参数:

    sshd -T | grep -i startup
    

    2.2 maxsessions 1000

    同一地址的最大连接数,也就是同一个 IP 地址最大可以保持多少个链接。

    如下以上两个参数配置不正确,可能出现如下错误:

    ssh_exchange_identification: Connection closed by remote host
    

    《SSH 服务的几个超时参数配置》: https://yq.aliyun.com/articles/57903?spm=5176.11156381.0.0.68684403ani1fa

    三、踩过的坑

    问题 1: Couldn't read packet: Connection reset by peer

    sftp 输入密码后报错:

    [root@sdw1 ~]# sftp sftpuser@sdw1
    sftpuser@sdw1's password: 
    packet_write_wait: Connection to 192.168.2.111 port 22: Broken pipe
    Couldn't read packet: Connection reset by peer
    [root@sdw1 ~]# sftp sftpuser@sdw1
    sftpuser@sdw1's password: 
    Connected to sdw1.
    

    原因:/data/sftp/sftpuser(ChrootDirectory) 的用户必须为 root,参考 sftp 安装 (3)

    chown root:sftp /data/sftp/sftpuser
    

    问题 2: remote readdir("/"): Permission denied

    sftp 登陆成功后,没有读的权限

    sftp> ls
    remote readdir("/"): Permission denied
    

    原因:/data/sftp/sftpuser(ChrootDirectory) 组 sftp 必须要有读的权限,参考 sftp 安装 (3)

    chmod 755 /data/sftp/sftpuser


     

    展开全文
  • SFTP

    千次阅读 2019-05-18 15:38:19
    一个就是类似FTP服务器的sftp-server,提供更安全的FTP服务 SFTP可以从远程服务器上下载/上传文件,使用的是SSH的通道(port 22)。 操作 连接远程服务器: root@localhost:/# sftp 192.168.2.159 Connected to ...

    SSH协议本身提供了两个服务器功能。

    • 一个就是远程连接使用shell的服务器,即俗称的ssh
    • 一个就是类似FTP服务器的sftp-server,提供更安全的FTP服务

    SFTP可以从远程服务器上下载/上传文件,使用的是SSH的通道(port 22)。

    操作

    连接远程服务器:
    root@localhost:/# sftp 192.168.2.159
    Connected to 192.168.2.159.
    sftp> ls 
    clear_iptables.sh  logs               mrg200             powermgr           xbmd               xbmd.tar.gz        
    sftp>exit   <===在这里等待输入FTP相关的命令
    sftp> put /home/klft/liuxinju.txt /home/klft/haha.txt   < ==== 上传文件
    
    sftp> get /home/klft/test.c                             <====下载文件
    Fetching /home/klft/test.c to test.c
    /home/klft/test.c                                                               100% 4786     4.7KB/s   00:00

     

    SFTP使用的命令
                                         针对远程服务器主机(server)的行为
    切换目录 cd
    建立目录 mkdir
    列出目录

    ls 

    dir

    删除目录 rmdir 
    显示当前目录 pwd
    更改文件或目录的的数组 chgrp
    更改文件或目录的属主 chown
    更改文件或目录的权限 chmod
    建立连接文件 ln
    删除文件或目录 rm
    更改文件或目录名 rename
    离开远程主机 exit、bye、quit
                                 针对本机(client)的行为(都加上l(L的小写))
    切换目录 lcd
    列出当前主机所在目录的文件 lls
    建立目录 lmkdir
    显示当前目录 lpwd
    将本机文件上传至服务器

    put [本机目录或文件] [远程]

    put [本机目录或文件] 

    如果是后一种格式,则文件会存储到当前远程主机的目录

    将文件由远程主机下载回来

    get [远程目录或文件] [本机]

    get [远程目录或文件]

    如果是后一种格式,则文件会存储到当前主机的目录中

     

    SCP文件异地直接复制

          通常使用SFTP是因为可能不知道服务器上面已存在的文件名信息,如果已经知道服务器上的文件名,那么最简单的文件传输则是通过SCP命令,用法如下:

    [root@www~]# scp [-pr] [-l 速率] file [账号@]主机:目录名  <===上传
    
    [root@www~]# scp [-pr] [-l 速率]  [账号@]主机:file 目录名  <===下载

    -p: 保留文件原有的权限信息

    -r: 复制来源为目的时,可以复制整个目录

    -l :可以限制传输的速率,单位为kbits/s,例如 [-l 800] 代表传输速率100kbytes/s

    #下载文件
    root@localhost:/# scp root@192.168.2.159:/home/klft/serlog.txt  .
    serlog.txt                                                                      100% 3189KB   3.1MB/s   00:00
    
    #上传文件
    root@localhost:/# scp my.log root@192.168.2.159:/home/
    my.log                                                                          100%   38     0.0KB/s   00:00    
    root@localhost:/# 

    windows上的客户端软件

    文字接口软件:putty, PSFTP、

    图形接口软件:FileZilla

    展开全文
  • SFTPSFTP

    热门讨论 2012-12-13 21:07:23
    SFTP
  • sftp源码sftp源码sftp源码

    热门讨论 2011-03-07 01:41:08
    sftp源码sftp源码sftp源码sftp源码sftp源码sftp源码
  • SFTP服务器

    2018-12-26 16:39:52
    本机搭建SFTP服务器,可以测试SFTP,windows下使用,!
  • spark sftp

    2018-06-20 16:54:24
    spark 读取sftp文件 下面是用法 // Construct Spark dataframe using file in FTP server DataFrame df = spark.read(). format("com.springml.spark.sftp"). option("host", "SFTP_HOST"). option("username", ...
  • sftp mysql_sftp 部署

    2021-01-30 08:22:15
    sftp 部署以及用户创建1、创建sftp组,sftp用户密码groupadd sftpuseradd -g sftp -s /sbin/nologin -M sftppasswd sftp//-g:加入主要组 -s指定用户登入后所使用的shell -M:不要自动建立用户的登入目录2、创建sftp...

    sftp 部署以及用户创建

    1、创建sftp组,sftp用户密码

    groupadd sftp

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

    passwd sftp

    //-g:加入主要组 -s指定用户登入后所使用的shell -M:不要自动建立用户的登入目录

    2、创建sftp用户的根目录和属主、属组,修改权限(755)

    cd /usr/

    mkdir sftp

    chown root:sftp sftp/

    chmod 755 sftp/

    3、在sftp 的目录中创建可写入的目录

    cd sftp/

    mkdir file

    chown sftp:sftp file

    注释:可根据目录权限控制 普通用户的 上传和下载的 权限操作。

    也可创建普通用户加如sftp组。

    4、修改sshd_config 的配置文件

    vim /etc/ssh/sshd_config

    把原来的Subsystem 行注释掉,添加如下配置:

    Subsystem sftp internal-sftp

    Match User sftp

    ChrootDirectory /usr/sftp

    ForceCommand internal-sftp

    AllowTcpForwarding no

    X11Forwarding no

    配置完成后重启服务

    systemctl restart sshd

    5、测试

    sftp sftp@127.0.0.1

    默认端口22 用户:sftp 密码:xxx

    展开全文
  • FreeSSHd sftp服务器

    2020-04-20 16:58:55
    FreeSSHd sftp服务器 sftp本地搭建
  • SFTP的用法

    万次阅读 2018-07-25 18:37:59
    SFTP的概念 sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。SFTP 为 SSH的其中一部分,是一种传输档案至 ...

    SFTP的概念

    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来对远程服务器和本地电脑上文件进行上传,下载操作。

    用法:

    连接远程服务器:

    sftp username@ip

    回车之后输入服务器密码即可连接成功。

    将文件上传到服务器上:

    put [本地文件的地址] [服务器上文件存储的位置]

    将服务器上的文件下载到本地:

    get [服务器上文件存储的位置] [本地要存储的位置]

    最后分享一个Linux中返回上一层目录的命令:

    cd ..

     

    展开全文
  • sftp 配置

    2020-04-10 15:26:43
    groupadd sftp ...useradd -g sftp -s /sbin/nologin -M sftp passwd sftp mkdir sftp chown root:sftp sftp cd sftp/ mkdirfile chown sftp:sftp file/ chmod a+w sftp -R sftp chmod 755 sf...
  • sftp常用命令

    万次阅读 2019-04-15 15:46:14
    sftp -P 22 zhangsan@192.168.0.100 #秘钥登录 sftp -P 22 -i ~/.ssh/id_rsa zhangsan@192.168.0.100 更改远程工作目录 cd /abc 更改和/或打印本地工作目录 lcd /abc 列出远程目录的内容 ls 列出本地...
  • SFTP协议

    2021-02-22 18:52:03
    SFTP是一种安全的文件传输协议,一种通过网络传输文件的安全方法。 例:当想把一个文件从一台机器迁移到另一台机器时,就可以使用sftp 首先,将需要转移的文件打包:tar zcvf filename.tar.gz ./filename 登录sftp:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,593
精华内容 7,037
关键字:

sftp