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)

    不要放在别的路径下,微软官方的要求.

解压后,即可直接使用 ssh客户端了,但是如果需要开启 sshd 服务端程序,则必须继续进行安装操作。

  • step3 CMD管理员模式下安装

    CMD管理员模式,切换到OpenSSH安装路径下,依次执行:

    [切换到安装目录]
C:
cd C:\Program Files\OpenSSH

[安装sshd服务]

powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1

[开放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

[启动OpenSSH服务]

net start sshd

到此就安装完成

测试安装是否成功

[Windows上连接Linux]

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服务器的指定目录中)


[Linux上连接Windows]


[root@sdc01 ~]# ssh @10.100.xx.yy

通过预置密钥对,开启免密登录

ssh出于安全考虑,每次连接都会提示输入密码,为了避免麻烦,就要配置密钥对。

  • step1 生成密钥对

这里采用rsa算法,你也可以使用其他算法,但dsa默认不支持,这里是个坑,最好生成rsa密钥,ssh支持,随自己吧

ssh-keygen -t rsa

  • step2 将公钥(id_rsa.pub)传到远程主机的~/.ssh目录下,重命名文件名为authorized_keys

  • step3 修改远程主机sshd_config配置,重启sshd服务
vim /etc/ssh/sshd_config
PubkeyAuthentication yes
StrictModes no systemctl restart sshd

  • step4 [测试]cmd直连远程linux

X 参考文献

[操作系统/网络]Windows安装Openssh(scp / ssh等)的更多相关文章

  1. Windows安装OpenSSH服务

    一.背景 在做国盛通项目的时候,有两套并行测试环境,因为基本架构采用的是供应商提供的程序,需要将两套banner图做同步,因为图片数量多,进GitLab版本控制进行分支策略管理,进而同步两套环境,意义 ...

  2. windows上OpenSSH服务安装及启动

    一.windows安装OpenSSH 1,下载openSSH windows版 GitHub下载链接 我安装的是64位版本 OpenSSH-Win64.zip 2,解压到C:\Program File ...

  3. windows 上 OpenSSH 服务 启用秘钥登录(微软真心逆天)

    windows 上 OpenSSH 服务 启用秘钥登录(微软真心逆天) windows 安装 OpenSSH 服务 最近需要在windows 服务器上部署自动发布程序,那么就需要用到 scp 和 ss ...

  4. Ubuntu上安装和使用SSH,Xming+PuTTY在Windows下远程Linux主机使用图形界面的程序

    自:http://blog.csdn.net/neofung/article/details/6574002 Ubuntu上安装和使用SSH  网上有很多介绍在Ubuntu下开启SSH服务的文章,但大 ...

  5. Windows 下 OpenSSH 安装使用

    OpenSSH 是安全 Shell (SSH) 工具的开放源代码版本,Linux 及其他非 Windows 系统的管理员使用此类工具跨平台管理远程系统. OpenSSH 在 2018 年秋季已添加至 ...

  6. openssh for windows安装

     openssh for windows安装 2009-11-22 22:43:58 分类: WINDOWS 本文转自:http://blog.chinaunix.net/uid-7541208-id ...

  7. 操作系统,windows编程,网络,socket

    首发:个人博客,更新&纠错&回复 之前关于c/s的一篇博文只记了思路没记代码,而且表达不清晰,事后看不知所云,这个习惯要改. 这十几天学了点关于操作系统.windows编程和网络,主要 ...

  8. ubuntu系统无法ssh登录--安装openssh

    与红帽子系列的Linux发行版不同,Ubuntu系统安装后并不能直接进行ssh登录.需要手动安装openssh才行. Ubuntu安装openssh命令如下: sudo apt-get install ...

  9. Windows Server 2019安装OpenSSH Server简明教程

    Windows Server 2019安装OpenSSH Server简明教程   Windows Server 2019内置OpenSSH Server组件了.只不过OpenSSH Server默认 ...

  10. Ubuntu安装openssh安装ssh、 免密登录、 创建新用户并免密登录

               一.安装openssh sudo apt-get install openssh-server ssh localhost 二.免密登录 cd ~/.ssh ssh-keygen ...

随机推荐

  1. 源码安装RocketMQ4.x可视化控制台详细教程

    下载源码 https://github.com/apache/rocketmq-externals 进入 roccketmq-console cd roccketmq-console 编译打包 mvn ...

  2. visio任意图形填充

    开发工具->操作->修剪->按住Shift键点击填充图形所有边 同时选中后->组合->开发工具->操作->连接 回到开始选项卡选择填充颜色 中途不要点击其他, ...

  3. LeetCode 之 559. N叉树的最大深度

    原题链接 思路: 递归计算每个子树的深度,返回最大深度即可 python/python3: class Solution(object): def maxDepth(self, root): &quo ...

  4. LeetCode 之 108. 将有序数组转换为二叉搜索树

    原题链接 思路: 二叉搜索树的定义: 它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值: 若它的右子树不空,则右子树上所有结点的值均大于它的 ...

  5. 题解,洛谷P3435

    根据题意,分析如右图 显然,对于每个前缀,有这样的性质A==B==C,所以,周期最长则a最短,即求该字符串的最短公共前后缀.通过kmp算法中nex数组的迭代,很容易求得最短前后缀. for(int i ...

  6. python中将各种类型表达式中的 \ 符号,都看作转义符

    python中将各种类型表达式中的 \ 符号,都看作转义符,如 \n 代表换行  \t  代表空tab,还发现 \a 相当于什么都不是,改行末尾的 \ 的意思是该行还没写完,接着下边一行的内容. 转义 ...

  7. 运行python脚本报错SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

    运行python脚本报错 SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes  in position 2-3: ...

  8. 【Linux】虚拟机CentOS 7 磁盘扩容

    [Linux]虚拟机CentOS 7 磁盘扩容 在有些时候,自己或者公司开的虚拟机的磁盘在一开始的时候没规划好,或者有磁盘扩容的需求(其实在系统日常运维的时候这个需求时常出现),那么这个时候又该怎么处 ...

  9. 3-XSS漏洞

    1.XSS原理 跨站脚本攻击是一种针对网站应用程序的安全漏洞攻击技术,是代码注入的一种.它允许恶意用户将代码注入网页,其他用户在浏览网页时会受到影响.恶意用户利用xss代码攻击成功后,可能得到很高的权 ...

  10. js的时间比较

    time1的传参数类型是"2022-11-10 23:23:20" 点击查看代码 function times(time1) { let now = new Date() //当前 ...