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

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

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

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

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

我们windows下载后开始安装

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

我们默认勾选全部

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

安装目录

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

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

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

安装完成

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

我们打开安装目录

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

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

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

然后执行以下命令

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

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

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

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

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

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

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

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

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

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

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

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

覆盖后,服务启动正常

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

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

然后在防火墙开放端口

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

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

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

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

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

配置key验证

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

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

1ssh-keygen -t rsa     回车;

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

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

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

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

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

id_rsa   私钥

id_rsa.pub     公钥

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

我们将公钥拷贝到windows上

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

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

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

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

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

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

将公钥拷贝到该目录

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

2.将公匙导入到winsshd

Open easy setting–>Virtual accounts

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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/
就少了很多错误提示

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

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

在linux上执行

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



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

上一篇:传统架构下的上云之路——来伊份上云历程分享【云栖大会阿里云服务专场干货独家分享】


下一篇:【云栖大会】路奇:上云,能用钱解决的别浪费时间