博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SCP实现Linux到Windows的文件数据备份
阅读量:5752 次
发布时间:2019-06-18

本文共 2269 字,大约阅读时间需要 7 分钟。

我们上一篇介绍了使用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

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

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

我们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

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

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

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

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

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

覆盖后,服务启动正常

然后在防火墙开放端口

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

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

配置key验证

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

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

1ssh-keygen -t rsa     回车;

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

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

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

id_rsa   私钥

id_rsa.pub     公钥

我们将公钥拷贝到windows上

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

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

将公钥拷贝到该目录

2.将公匙导入到winsshd

Open easy setting–>Virtual accounts

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

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

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

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

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

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

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

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

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

在linux上执行

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

你可能感兴趣的文章
vim在多文件中复制粘贴内容
查看>>
Android ContentObserver
查看>>
文章“关于架构优化和设计,架构师必须知道的事情”
查看>>
疯狂java学习笔记1002---非静态内部类
查看>>
ISA2006实战系列之一:实战ISA三种客户端部署方案(上)
查看>>
TCP服务器
查看>>
OCS和GLPI 安装文档
查看>>
U-Mail邮件系统与泛微OA系统一体化操作指南
查看>>
AC旁挂三层交换机管理ap,二层接入ap心得
查看>>
DC/OS虚拟网络
查看>>
如何将Exchange 2010 CU15更新到CU26 - 解决CVE安全漏洞
查看>>
JS中比较数字大小
查看>>
POST中文转码问题
查看>>
springcloud 学习-eureka搭建-为eureka添加认证
查看>>
jQuery插件的开发
查看>>
基础,基础,还是基础之JAVA基础
查看>>
如何成为一个C++高级程序员
查看>>
iptables 生产环境配置
查看>>
ant android 打包签名和渠道
查看>>
linux命令学习(1)-awk
查看>>