相关文章推荐
行走的眼镜  ·  Pytorch ...·  1 年前    · 

由于项目有这么一个数据同步需求:

  • 【业务建设系统方】 Linux 上将 Oracle 全量数据 ( .dmp文件 )定时推送到 【大数据平台建设方】 中的一台 Linux服务器 上;
  • 然后, 【大数据平台建设方】 再将dmp文件(通过sshpass和openssh的ssh/scp制作定时传输脚本将)数据传输到一台安装有Oracle的Windows的服务器上
  • 那么,就涉及到一个问题,Windows上需要提供ssh服务。

    2 Windows安装Openssh(客户端+服务端)

    2.1 Windows 10系统

    如果你的电脑是Win10系统,则: 微软将 openssh的客户端 已【预安装】在Windows10操作系统内了;

    [查看方法]
    Windows 所有设置>应用>可选功能>OpenSSH客户端
    

    但是,Windows10并没有【预安装】openssh的服务端,但安装起来也很容易:

    [安装操作方法]
    Windows 所有设置>应用>可选功能>添加功能>(选择)OpenSSH服务端
    

    安装好以后,就可以看到OpenSSH的客户端+服务端全家桶了。

    2.2 Windows Server 2008/ Windows 7/ Windows 8等

    PowerShell

    这些低于Windows 10 版本的设备怎么安装Openssh呢?

    别急,方法自然有:需借助Windows的Powershell来实现对OpenSSH的安装

    [Powershell:简介]
    Powershell(Windows Powershell)是Microsoft为Windows设计的新的命令行程序,这个Windows内置的命令行shell包括交互式提示和脚本环境,它们可以独立使用也可以交互使用。

    indows PowerShell® 是基于任务的命令行管理程序和脚本语言,专为进行系统管理而设计。

    在 .NET Framework 的基础上构建的 Windows PowerShell 可帮助 IT 专业人士和高级用户控制和自动执行 Windows 操作系统以及在 Windows 上运行的应用程序的管理。

    UNIX 系统一直有着功能强大的脚本(shell),Windows PowerShell 的诞生就是要提供功能相当于 UNIX 系统 BASH 的命令行外壳程序,同时也内建脚本语言以及辅助脚本程序的工具。

    [Powershell:操作系统兼容性]
    在2002年,微软开始研究一个新的产品叫做”Monad”,第一个公开测试版本是在2005年6月发布的,到2006年4月,微软把它重新命名为Windows PowerShell。从2006年微软正式发布Windows PowerShell 1.0以来,目前已经更新到了5.1版本。各个版本的相关信息如下:

    从图中显而易见的是:Server OS版始于2006年11月发行的Windows Server 2008,普通 OS版始于2009年8月的Windows 7
    Windows Server 2008 Powershell是系统中的一个新功能,自Server 2008开始之后的所有Windows系统中都集成了Powershell程序。在Windows Serve 2008 R2中,一个重要改进就是PowerShell版本升级为2.0。Win 2008 R2包括一系列新的服务器管理界面,这些均建立在PowerShell 2.0之上。

    阶段1:安装OpenSSH

  • step1 下载安装包(OpenSSH-Win64.zip)
  • https://github.com/PowerShell/Win32-OpenSSH/releases - github
        https://github.com/PowerShell/Win32-OpenSSH/releases/download/v8.1.0.0p1-Beta/OpenSSH-Win64.zip
    https://pan.baidu.com/s/19V2W_e1Agl4GSouW6U3JAQ 提取码: xgjp 	
    
  • step2 解压到指定目录(C:\Program Files\OpenSSH)
    不要放在别的路径下,微软官方的要求.
  • [开放22号端口]

    (如果你在windows关闭了防火墙并配置了入站规则可以不执行如下命令,多执行不影响)

    netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
    

    [配置OpenSSH系统环境变量(PATH)]
    将C:\Program Files\OpenSSH添加到path中,免得每次都要切到C:\Program Files\OpenSSH才能使用ssh

    在系统环境变量PAHT中添加: 
        ;C:\Program Files\OpenSSH
    

    [配置开机自启sshd服务]

    sc config sshd start= auto
    
    Windows CMD: ssh root@192.168.2.110
    Windows CMD: scp C:\Users\Johnny\Desktop\debug.log Johnny@192.168.1.52:/C:/Users/Johnny/Desktop/A
    (将Windows下的一份文件传输到Windows服务器的指定目录中)