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 可以看到帮助
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,那这个命令就会出错。