SCP实现Linux到Windows的文件数据备份

简介:

我们上一篇介绍了使用Curl+windows FTP实现linux到windows的数据备份,今天我们介绍一下使用SCP服务将Linux的文件到Windows的文件备份;我们都知道SCP使用的是SSL协议进行数据传输的,所以我们如果使用SCP服务进行数据传输的话需要安装openssh-clients(linux上),而windows上我们需要单独下载openssh for windows 工具。具体见下:

我们首先在linux上安装openssh-clients

1
yum  install  –y openssh-clients

如果安装了我们会出现以下现象;

image

接下来我们就需要下载windows openssh clients了;安装文件我们会以附件的方式进行上传

http://openssh.en.softonic.com/

我们windows下载后开始安装

clip_image001

我们默认勾选全部

clip_image002

安装目录

clip_image003

警告,提示我们需要进行配置

clip_image004

安装完成

clip_image005

我们打开安装目录

clip_image006

通过命令提示符进入安装目录

clip_image007

然后执行以下命令

1
2
3
4
5
mkgroup -l >> ..\etc\group          将本地组成员导入
mkgroup -d >> ..\etc\group        将域中组成员导入
mkpasswd -l >> ..\etc\ passwd  将本地用户成员导入
mkpasswd -d >> ..\etc\ passwd  将域中用户成员导入
mkpasswd -l -u administrator >> ..\etc\ passwd

clip_image008

安装后启动服务;提示错误

clip_image009

我们同时也在服务里面启动,也出现错误

clip_image010

因为是64位的文件,所以我们需要覆盖里面的安装文件,将该附件解压后,将两个文件覆盖到bin目录下即可

1
2
C:\Program Files (x86)\OpenSSH\bin
<<setupssh381-20040709.zip>>

clip_image011

覆盖即可;如果有提示覆盖的就覆盖

clip_image012

clip_image013

覆盖后,服务启动正常

clip_image014

clip_image015

然后在防火墙开放端口

clip_image016

我们在linux上进行telnet服务进行测试

clip_image017

我们接下来使用命令进行尝试数据上传,提示错误

clip_image018

配置key验证

接下来我们需要配置key验证,因为数据同步我们不能使用密码验证后再传输同步数据,所以我们需要配置key认证,这样本地服务器与远程服务器之间同步就不需要密码验证了;

其实key验证我们前面的文章中已经有写了,为了方便在此还是说说。在源服务器上我们通过ssh-keygen生成一对验证秘钥,一个公钥,一个私钥;私钥放在远程服务器上即可,私钥需要公钥验证后才可以匹配,所以相对还是比较安全的;

1ssh-keygen -t rsa     回车;

因为之前服务器上使用注册的,所以就拿来直接用了;计算机名不一样;请忽略即可;

clip_image019

创建目录,认证目录;然后一路回车

clip_image020

在/root/.ssh 目录下生成了一对密钥文件

id_rsa   私钥

id_rsa.pub     公钥

clip_image021

我们将公钥拷贝到windows上

clip_image022

clip_image023

.将公匙导入到winsshd Open easy setting–>Virtual accounts 点add按钮,,,输入一个名字,比如codeif,在列表中0 keys后的编辑按钮,导入刚才的公匙以后就可以不用输入密码,linux就可以通过scp命令从装有winsshd的机器上获取文件了

注:在windows下只能使用命令来创建带点的文件夹".ssh"

clip_image024

clip_image025

将公钥拷贝到该目录

clip_image026

2.将公匙导入到winsshd

Open easy setting–>Virtual accounts

点add按钮,,,输入一个名字,比如codeif,在列表中0 keys后的编辑按钮,导入刚才的公匙以后就可以不用输入密码,linux就可以通过scp命令从装有winsshd的机器上获取文件了

http://blog.csdn.net/acanoe/article/details/7868499

clip_image027

1
2
net stop opensshd
net start opensshd

我们先从window上拷贝一个文件到linux上

我们执行命令必须在openssh目录下,不然会提示scp没有这个命令,我们也可以将该路劲添加到环境变量中,这样就可以任意执行命令了

1
C:\Program Files (x86)\OpenSSH\bin> scp .exe xxxx.txt root@192.168.6.28: /root

clip_image028

我们发现在linux下多了一个sh.exe的文件

clip_image029

我们也可以在windows上使用scp命令从linux上拷贝文件到windows 本地

接下来我们测试从linux到windows的指定目录进行拷贝文件

这样执行就传输到了默认路劲 ,安装默认在 C:\Program Files (x86)\OpenSSH

1
scp  /root/1 .txt administrator@192.168.6.188:

clip_image030

clip_image031

1
scp  1.txt gavin@192.168.6.188:d: /data/

clip_image032

1
2
3
4
5
或者使用--建议使用一下格式 使用cygdrive格式
scp  1.sh administrator@192.168.6.188: /cygdrive/d/data/
比如需要拷贝到windows一下目录
D:\ test \data\--->我们需要更改命令格式 /cygdrive/d/test/data/
就少了很多错误提示

clip_image033

clip_image034

在linux上执行

clip_image035



本文转自 高文龙 51CTO博客,原文链接:http://blog.51cto.com/gaowenlong/1856301,如需转载请自行联系原作者

相关文章
|
7天前
|
Linux 开发工具
Linux E325: 注意 发现交换文件 “*.swp“
Linux E325: 注意 发现交换文件 “*.swp“
15 0
|
2天前
|
Linux Shell Python
如何计算 Linux 上文件中的空行数?
【5月更文挑战第11天】
11 0
|
3天前
|
Linux API
Linux系统编程之文件编程常用API回顾和文件编程一般步骤
Linux系统编程之文件编程常用API回顾和文件编程一般步骤
Linux系统编程之文件编程常用API回顾和文件编程一般步骤
|
3天前
|
Linux
如何在 Linux 中递归更改文件的权限?
【5月更文挑战第10天】
14 3
|
4天前
|
Linux
Linux如何查询较大文件的方法
【5月更文挑战第8天】Linux如何查询较大文件的方法
7 0
|
4天前
|
Linux 程序员 Shell
【Linux】详解core dump文件的作用以及用法&&ubuntu20.04下无法形成core dump文件的解决办法
【Linux】详解core dump文件的作用以及用法&&ubuntu20.04下无法形成core dump文件的解决办法
|
5天前
|
Linux Shell
Linux操作系统下查找大文件或目录的技巧
Linux操作系统下查找大文件或目录的技巧
11 2
|
5天前
|
算法 Linux
Linux:文件增删 & 文件压缩指令
Linux:文件增删 & 文件压缩指令
9 0
|
6天前
|
NoSQL Linux Redis
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
22 0
|
6天前
|
Linux
在 Linux 中创建文件
在 Linux 中创建文件