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
| 针对远程服务器主机(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版权协议,转载请附上原文出处链接和本声明。