Chinaunix首页 | 论坛 | 博客
  • 博客访问: 715521
  • 博文数量: 182
  • 博客积分: 2088
  • 博客等级: 大尉
  • 技术积分: 1698
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-16 15:09
个人简介

.

文章分类

全部博文(182)

文章存档

2016年(1)

2015年(18)

2014年(14)

2013年(20)

2012年(129)

分类: LINUX

2014-08-18 14:43:46

在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》

点击(此处)折叠或打开

  1. @echo off
  2. pscp.exe -r %3 -l networkusername -pw password networkusername@192.168.1.100:%1 %2
  3. @echo on

  4. pause
>download.bat /home/xxx/temp/1.txt .

从服务器下载实例《upload.bat》

点击(此处)折叠或打开

  1. @echo off
  2. pscp.exe -r %3 -l networkusername -pw password %1 networkusername@192.168.1.100:%2
  3. @echo on

  4. 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




阅读(2126) | 评论(0) | 转发(0) |
0

上一篇:tar

下一篇:Android 调试技术

给主人留下些什么吧!~~