SFTP

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


版权声明:本文为u013827488原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。