putty 实现文件传输【转】

我都是用samba共享,现在转载一个用putty共享的文章,可能以后会用到。

From:http://www.veryword.com/2008/08/18/use-putty-to-batch-copy-folder.html

为 了实现在本地的windows和远程的unix/linux之间进行批量文件传输,可以在unix/linux下,通过samba将unix/linux 的硬盘设置为共享,这种办法的缺点是设置samba时,需要unix/linux管理员的权限。如果unix/linux设置成ftp服务器,也可以通过 windows的ftp命令访问,这种办法的缺点是ftp命令只能传输单个文件,不能传输文件夹,因此需要在传输前后进行打包和解包工作。除了这两种办法,如果有unix/linux的ssh登陆权限,还可以通过putty进行远程文件传输。

Putty 是免费的绿色的,windows下面的SSH客户端,除了可以进行远程登录,putty所带的pscp程序还可以实现远程文件和文件夹传输。pscp是命 令行客户端工具,命令行工具的优点在于简单,便于调用,和其他的工具,比如宏,结合起来,就可以实现在本地和远程机器之间批量的文件传输。

pscp的一些常用选项包括:

-r      传输文件夹
-l 输入用户名
-pw 输入密码
-1 -2 强制使用某种版本的SSH协议
-C 启用压缩
-sftp 强制使用sftp协议
-scp 强制使用scp协议

如果不考虑安全性,而更重视传输速度,SSH-1相对SSH-2对cpu的负载要小,SCP协议一般比SFTP协议传输得更快。

比如以下命令就可以实现以用户名username,密码passwd登陆ip为10.11.44.11的机器,并且把远程机器/data/下面的putty文件夹下载到本地的ftp目录:

pscp -r -sftp -l  username -pw passwd 10.11.44.11:/data/putty "C:\data\My Documents\ftp"
把命令写到批处理文件中
set PATH=C:\data\My Documents\IAR_review\review\ftp\putty     %Set PATH
pscp -r -sftp -l username -pw passwd 10.11.44.11:/data/putty "C:\data\My Documents\ftp"

From: http://www.blogjava.net/lifw/archive/2008/09/03/226679.html

PuTTY 提供的文件传输工具PSCP (PuTTY Secure Copy client) 基本使用说明


通过 SSH 连接,在两台机器之间安全的传输文件,可以用于任何 SSH(包括 SSH v1、SSH v2) 服务器。

PSCP 的使用

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


C:\>pscp

PuTTY Secure Copy client

Release 0.58

Usage: pscp [options] [user@]host:source target

      pscp [options] source [source] [user@]host:target

      pscp [options] -ls [user@]host:filespec

Options:

 -V       print version information and exit

 -pgpfp   print PGP key fingerprints and exit

 -p       preserve file attributes

 -q       quiet, don't show statistics

 -r       copy directories recursively

 -v       show verbose messages

 -load sessname Load settings from saved session

 -P port  connect to specified port

 -l user  connect with specified username

 -pw passw login with specified password

 -1 -2    force use of particular SSH protocol version

 -4 -6    force use of IPv4 or IPv6

 -C       enable compression

 -i key   private key file for authentication

 -batch   disable all interactive prompts

 -unsafe  allow server-side wildcards (DANGEROUS)

 -sftp    force use of SFTP protocol

 -scp     force use of SCP protocol

可以看出 PSCP 的使用是很简单的,把常用的几个选项说一下:

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

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

-l user 指定以哪个用户的身份登录主机,用户名称也可以和主机名称写在一起,用@分割开,比如:username@server 

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

-C 表示允许压缩传输,提高传输速度

PSCP 基本用法是:

pscp -P 22 -C c:\a.txt username@server:/path/  

例子:

1、c:\>pscp -C c:\a.bat username@server:upload/

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

2、c:\>pscp -C c:\a.txt username@server:.

把本地的 C:\a.txt 复制到主机server的用户username的主目录下

3、c:\>pscp -C username@server:*.tgz c:\download

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


 
 
 

posted on 2012-07-13 09:57  w——杰  阅读(6566)  评论(0编辑  收藏  举报

导航