putty使用来解析用ssh传输文件

原创
2015/09/10 11:25
阅读数 583

实验前应先将PSCP.exe和PSFTP.exe文件复制到相应的路径下,如system32文件夹里,system32文件夹在哪里?这是你的问题了!也可以直接添加路径,我的电脑属性-> 高级-> 环境变量(N),在path里设置即可。

1.PSCP 的使用

在控制台直接执行pscp 可以看到帮助

C:\>pscp
。。。。。。

Usage: pscp [options] [user@]host:source target
       pscp [options] source [source...] [user@]host:target
       pscp [options] -ls [user@]host:filespec

。。。。。。

PSCP常用的几个选项说一下:

-q 安静模式,传输文件时什么也不显示,否则会显示出文件的传输进度,默认是关闭的

-P port 指定服务器的SSH 端口,注意这个是大写字母P,默认是-P 22,如果主机的SSH 端口就是22,就不用指定了

-l user 指定以哪个用户的身份登录主机,如果没有指定,则PSCP 会在PuTTY 保存的同名Session 中获得默认的用户名称。用户名称也可以和主机名称写在一起,用@ 分割开,比如:username@server

-pw passwd 指定登录时所用的口令为passwd

-i keyfile 就是指定登录时所用的密钥文件

最后面指定的主机名也可以是PuTTY 中保存的Session 名称。比如我们在PuTTY 中保存了一个名为foobarserver 的会话,而我们所在的网络又的确没有名为foobarserver 的主机名称。而在这个foobarserver 会话中保存的主机名称是demo-server,保存的自动登录的用户是kpl。那么用命令

pscp c:\autoexec.bat foobarserver:backup/

就把本地的c:\autoexec.bat 复制到了主机demo-server 上的用户kpl 所在的主目录下的backup 子目录中(这个路径可能是/home/kpl/backup)

PSCP 大致用法的例子就是:
pscp -P 22 -i c:\path\your-private-key.ppk -C username@server :/remote/path/
下面还是用一些实例来说明会比较简单一些:
把本地的C:\path\foo.txt 复制到远程主机192.168.6.200 的/tmp 目录下

pscp c:\path\foo.txt 192.168.6.200:/tmp

把本地的C:\path\foo.txt 复制到主机192.168.6.200 的/tmp 目录下,但是以主机上的用户kpl 的权限执行

pscp c:\path\foo.txt kpl@192.168.6.200:/tmp

或者是

pscp -l kpl c:\path\foo.txt 192.168.6.200:/tmp

把本地的C:\path\foo.txt 传送到主机192.168.6.200 的/tmp 目录下,但是主机的SSH 端口是3122

pscp -P 3122 c:\path\foo.txt 192.168.6.200:/tmp

把本地的C:\path\foo.txt 复制到主机192.168.6.200 的用户kpl 的主目录下

pscp c:\path\foo.txt kpl@192.168.6.200:.

把主机192.168.6.200 上的用户kpl 主目录下的所有*.tgz 文件拷贝到本地的c:\backup 目录中,如果SSH 版本是SSH v1,那这个命令就会出错。

pscp kpl@192.168.6.200:*.tgz c:\backup

2.再来看看PSFTP

在控制台执行命令psftp -h,可以得到psftp 的帮助

C:\>psftp -h
Usage: psftp [options] [user@]host

。。。。。。

用法与PSCP 大同小异,后面用主机名的时候,与PSCP 一样直接用上会话名称就可以了。
用PSFTP 登录到服务器上以后,操作与FTP 差不多,这里简单的说一下吧:

open 登录主机
open [username@]<sessname|hostname|ip> [port]
比如:

open kpl@demo-server 3022
就是以用户kpl 的身份,登陆到主机demo-server 上,SSH 端口是3022

open demo-server
登陆demo-server,这里的demo-server 可以是PuTTY 中已经保存的会话名称,也可以是主机的名称,如果主机名称与会话名称相同,以会话名称为准。

close 关闭SFTP 连接
这个没啥说的,close 就关闭了SFTP 连接

quit 结束本次的SFTP 会话
也没啥用法,就是关闭了PSFTP 这个程序

help [command] 帮助
直接打help 就可以看到帮助指令,后面指定上一个命令就可以查看该命令的帮助,比如:help open

cd [directory] 改变当前目录

pwd 察看当前目录

lcd [directory] 改变本地目录

lpwd 察看本地当前目录

get [-r] <filename|directory> 从服务器下载一个文件/目录,这个命令不能用通配符,参数-r 可以递归下载整个目录

put [-r] <filename|directory> [dest] 把文件/目录上传到服务器,这个命令不能用通配符,参数-r 可以递归上传整个目录

mget [-r] <filename|directory> 从服务器下载一批文件/目录,可以用通配符,-r 的含义与get 一样

mget [-r] <filename|directory> [dest] 把一批文件/目录上传到服务器,可以用通配符,-r 的含义与put 一样

reget [-r] <filename|directory> 从服务器续传下载一个文件/目录,这个命令不能用通配符,-r 的含义与get 一样

reput [-r] <filename|directory> [dest] 把一批文件/目录续传上传到服务器,这个命令不能用通配符,-r 的含义与put 一样

dir [directory] 列目录

ls 和dir 一样

chmod [file|directory] 改变文件的权限,与Unix 的chmod 命令类似

del <filename> 删除文件,要注意的是del 只能删除文件

rm 与del 一样

mkdir <new-directory-name> 创建一个目录

rmdir <directory> 删除一个空目录,只有空目录才可以被删除

mv <source-file|source-directory> <dest-file|dest-directory> 改名/移动。如果源和目的都是文件或目录,则是改名。如果目的是目录的话,则是移动。

! 在本地命令前加一个感叹号,就可以直接执行


展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部