在linux和windows间传递文件时,可以使用pscp或scp(windows需要安装ssh for windows的客户端软件,如winsshd,使windows系统支持ssh协议)
1. pscp
pscp和scp功能相同,但pscp同时支持windows下使用,它有效解决了windows系统向linux服务器传输文件,而且它只有一个文件,即pscp.exe(可从下载)
pscp usage:
PuTTY Secure Copy client
Release 0.63
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
-noagent disable use of Pageant
-agent enable use of Pageant
-batch disable all interactive prompts
-unsafe allow server-side wildcards (DANGEROUS)
-sftp force use of SFTP protocol
-scp force use of SCP protocol
从服务器下载实例《download.bat》
-
@echo off
-
pscp.exe -r %3 -l networkusername -pw password networkusername@192.168.1.100:%1 %2
-
@echo on
-
-
pause
>download.bat /home/xxx/temp/1.txt .
从服务器下载实例《upload.bat》
-
@echo off
-
pscp.exe -r %3 -l networkusername -pw password %1 networkusername@192.168.1.100:%2
-
@echo on
-
-
pause
>upload.bat /home/xxx/temp/dirname .
2. scp(secure copy)
<1>配置winsshd(
http://blog.csdn.net/acanoe/article/details/7868499)
在linux主机(ssh客户端),
通过ssh-keygen在建立SSH keys
# ssh-keygen -t rsa (连续三次回车,即在本地生成了公钥和私钥,不设置密码)
将在linux主机的当前用户HOME目录下的.ssh目录,生成id_rsa.pub和id_rsa,其中,id_rsa是密匙,id_rsa.pub是公匙,你需要将id_rsa.pub上传(ssh服务端,也就是装有winsshd的windows机器)
可使用下面命令
cd ~/.ssh
scp id_rsa.pub Administrator@192.168.0.1:/d:/data
2.将公匙导入到winsshd
Open easy setting–>Virtual accounts
点add按钮,,,输入一个名字,比如codeif,在列表中0 keys后的编辑按钮,导入刚才的公匙以后就可以不用输入密码,linux就可以通过scp命令从装有winsshd的机器上获取文件了
附windows和linux互传文件的方法:
为了进行系统维护操作,有时需要再windows和linux或Unix系统之间互传文件,虽然有很多工具可以实现该功能,但我还是觉得命令行来的方便快捷,起初使用linux的scp命令,总是不成功,网上也没有相关介绍,经过几次努力之后,终于成功的摸索出了scp命令在写windows的路径时的写法,于是马上下了出来,与大家分享:
从linux系统复制文件到windows系统:scp /oracle/a.txt administrator@192.168.3.181:/d:/
在linux环境下,将windows下的文件复制到linux系统中:scp administrator@192.168.3.181:/d:/test/config.ips /oracle
请注意:因为windows系统本身不支持ssh协议,所以,要想上面的命令成功执行,必须在windows客户端安装ssh for windows的客户端软件,比如winsshd,使windows系统支持ssh协议才行。
简记:
在Windows下的winsshd 添加自己 Linux 客户机的时候共有两处添加点分别是:
<1> Open easy setings ->Windows accounts -> add -> administrator 用户 ->Public keys imported ->import -> id_rsa.pub
<2> Open easy seting ->Virtual accounts->add -> administrator 用户 ->Public keys imported ->import -> id_rsa.pub
<2> usage
usage: scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 ... [[user@]host2:]file2
local --> remote:
#scp /home/administrator/1.txt remoteusername@192.168.1.100:/opt/temp/
remote --> local:
#scp remote@ /home/administrator
PS:
如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:
#scp -p 4588 remote@
opt/temp/3.txt /home/administrator
阅读(2138) | 评论(0) | 转发(0) |