—————————————————

声明:本教程现已经弃用。由于客户端同时安装Cygwin和OpenSSH for Windows会出现问题(Cygwin的shell下无法使用ssh命令),建议直接在客户端使用Cygwin方式安装SSH,不要使用OpenSSH for Windows。

新教程连接:

手动方式:http://www.cnblogs.com/feipeng8848/p/8583768.html

脚本自动方式:http://www.cnblogs.com/feipeng8848/p/8583780.html

—————————————————

指导思想:服务端和客户端只要都安装了OpenSSH就能使用SSH协议实现SCP。

—————————————————

服务器端操作系统:Windows XP

客户端操作系统:Windows10

安装与配置顺序

1.服务端安装OpenSSH

2.服务端配置OpenSSH

3.客户端安装OpenSSH

4.客户端安装WinSCP

5.客户端安装Cygwin

6.客户端安装Tcl与Expect

7.编写Expect脚本实现自动登陆并下载文件

————————————————

下面逐步介绍安装配置方法

说明:局域网内,请先用交换机把计算机连接起来,设置好IP地址。

1.服务端安装OpenSSH

下载安装包:https://sourceforge.net/projects/sshwindows/

除了修改软件的安装目录其他都是一路默认选项,Next到最后。

2.服务端配置OpenSSH

win+r 打开运行,输入cmd打开控制台执行如下操作

先cd到bin目录

然后输入如下命令(分两次执行,注意命令中的参数是小写的L)

mkgroup -l >> ..\etc\group
mkpasswd -l >> ..\etc\passwd

如果能在C:\OpenSSH\etc目录下找到group文件和passwd文件即说明上面两个命令执行成功。这两个文件没有扩展名。

接下来在服务器的C:\OpenSSH目录上创建home目录、home下创建用户目录(以Adminstrator为例),用户目录下创建.ssh目录。建议使用命令,右键新建文件夹的话无法将文件夹命名为.ssh

使用写字板打开C:\OpenSS\etc\sshd_config文件,检查几个设置是否设成下面这样,确保去除前面的#号,括号中的汉字是说明该行代码的意思,sshd_config文件中并没有这些。

Protocol
PermitRootLogin no (禁止root账户登陆)
PermitEmptyPasswords no (禁止没有密码)
PasswordAuthentication yes (是否允许密码登陆,yes是允许,no是禁止)
RSAAuthentication yes
PubkeyAuthentication yes (允许公钥登陆)
AuthorizedKeysFile .ssh/authorized_keys (公钥目录)

然后修改注册表,为软件指定/home的目录

运行(win+r)里输入regedit,打开注册表,然后找到如下项

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/home]

"native"="D:\\OpenSSH\\home"

"flags"=dword:0000000a

把"native"改成你自己的/home所在目录,此目录就是默认的登陆目录,下图的设置就是默认登陆目录为:C:\OpenSSH\home

输入如下命令启动服务:

net start opensshd

到这里说明已经服务端已经安装成功了OpenSSH并成功开启了服务,需要指出的是以上截图有一些是在Win10下截的,这部分与在XP上是一样的。

以Administrator账户为例,设置下Windows XP登陆密码(也就是平时的登陆密码,我设置为123456),设置好IP地址(我设置为192.168.16.1)

现在,就可以使用客户端软件登陆了。

3.客户端安装OpenSSH

现在开始配置客户端,首先在要客户端安装OpenSSH,使用上面为服务端安装一样的安装包

配置的时候同样要cd到bin目录下执行这两个命令

如果能在C:\OpenSSH\etc目录下找到group文件和passwd文件即说明上面两个命令执行成功。这两个文件没有扩展名。

4.客户端安装WinSCP

客户端安装WinSCP教程链接:http://www.cnblogs.com/feipeng8848/p/8568149.html

5.客户端安装Cygwin

到第4步就可以使用图形界面的WinSCP手动远程传输文件了,要想实现脚本自动登陆与传输,请继续执行后面的步骤。

客户端安装Cygwin教程链接:http://www.cnblogs.com/feipeng8848/p/8555648.html

6.客户端安装Tcl与Expect

打开Cygwin Terminal,输入如下命令安装Tcl

apt-cyg install tcl

输入如下命令安装Expect

apt-cyg install expect

验证安装是否成功,输入如下命令

which tclsh

同理测试Expect

写一个helloworld脚本测试Tcl(脚本文件名:TestTcl.tcl)

7.编写Expect脚本实现自动登陆并下载文件

编写脚本文件

#!/usr/bin/expect
spawn ssh Administrator@192.168.16.1
expect "*password:"
send "123456\r"
expect "*#"

执行该脚本即可链接上服务器:

编写脚本文件

#!/usr/bin/expect
spawn scp Administrator@192.168.16.1:/home/Administrator//ID.txt /home
expect "*password:"
send "123456\r"
expect "*#"

执行该脚本即可从服务端把/home/Administrator/33/ID.txt 文件复制到本地的/home目录下

至此,可实现SSH远程联机与下载文件。

————————————————————

知识点汇总:http://www.cnblogs.com/feipeng8848/p/8559803.html

————————————————————

Windows上安装配置SSH教程(6)——综合应用:在Windows上实现SSH远程登陆与文件传输的更多相关文章

  1. Windows上安装配置SSH教程(8)——综合应用:在Windows上使用手动方式实现SSH远程登陆与文件传输

    服务器端操作系统:Windows XP 客户端操作系统:Windows10 安装与配置顺序 1.服务端安装OpenSSH 2.服务端配置OpenSSH 3.客户端安装OpenSSH 4.客户端安装Wi ...

  2. Windows上安装配置SSH教程(9)——综合应用:在Windows上使用脚本实现SSH远程登陆与文件传输

    服务器端操作系统:Windows XP 客户端操作系统:Windows10 安装与配置顺序 1.服务端安装OpenSSH 2.服务端配置OpenSSH 3.客户端安装Cygwin 4.客户端安装Tcl ...

  3. 在Docker上安装配置Oracle教程

    地址:https://github.com/wnameless/docker-oracle-xe-11g Docker shell 下: docker pull wnameless/oracle-xe ...

  4. Windows上安装配置SSH教程(4)——WinSCP+OpenSSH 使用公钥自动登陆

    -------------------- 知识点汇总:http://www.cnblogs.com/feipeng8848/p/8559803.html -------------------- 重要 ...

  5. Windows 7上安装配置TensorFlow-GPU运算环境

    Windows 7上安装配置TensorFlow-GPU运算环境 1. 概述 在深度学习实践中,对于简单的模型和相对较小的数据集,我们可以使用CPU完成建模过程.例如在MNIST数据集上进行手写数字识 ...

  6. windows server 2008R2 上安装配置freesshd

    从FREESSHD官方网站下载最新的软件版本,下载地址是http://www.freesshd.com/?ctt=download 双击刚刚下载的freeSSHd.exe进行安装,安装时其他都是默认安 ...

  7. Windows 下安装 Oracle 12c 教程

    原文 Windows 下安装 Oracle 12c 教程 申明:本文原作者:Jmq   本文给大家带来的是 Oracle 12C 的安装教程. 1.准备 1.1 下载 Oracle 12c 安装程序 ...

  8. QT学习之windows下安装配置PyQt5

    windows下安装配置PyQt5 目录 为什么要学习QT 命令行安装PyQt5以及PyQt5-tools 配置QtDesigner.PyUIC及PyRcc 为什么要学习QT python下与界面开发 ...

  9. Emacs 安装配置使用教程

    Emacs 安装配置使用教程 来源 https://www.jianshu.com/u/a27b97f900f7 序|Preface 先来一篇有趣的简介:Emacs和Vim:神的编辑器和编辑器之神 - ...

随机推荐

  1. java并发包分析之———AQS框架

    一.什么是同步器   多线程并发的执行,之间通过某种 共享 状态来同步,只有当状态满足 xxxx 条件,才能触发线程执行 xxxx . 这个共同的语义可以称之为同步器.可以认为以上所有的锁机制都可以基 ...

  2. C语言关键字register、extern、static、一些总结,及项目中使用的心得

    首先介绍两个概念: 一.变量的生存周期: 变量从建立到撤销的时间段成变量的生存周期.静态变量,从变量产生到整个程序执行结束.当函数使用变量结束后,变量的存储空间依然存在,变量的值也会随着函数的对其的使 ...

  3. JavaScript 跨域之 POST 实现。

    javascript 跨域是一个很常见的问题,其中 jsonp 是一个最常用的手段,但是 jsonp 只支持 get,不支持 post,所以如果想通过 jsonp 来 post 一些数据,就头大了. ...

  4. python结巴(jieba)分词

    python结巴(jieba)分词 一.特点 1.支持三种分词模式: (1)精确模式:试图将句子最精确的切开,适合文本分析. (2)全模式:把句子中所有可以成词的词语都扫描出来,速度非常快,但是不能解 ...

  5. Django Channels 入门指南

    http://www.oschina.NET/translate/in_deep_with_django_channels_the_future_of_real_time_apps_in_django ...

  6. Java c# 跨语言Json反序列化首字母大小写问题

    C#标准是首字母大写,Java规范是首字母小写,在序列化成Json之后,反序列化会出现反序列化失败的问题.. 从C#反序列化成JavaBean的时候通过如下注解可以直接解决该问题 @JsonNamin ...

  7. ArcticCore重构-VALIDATE_%

    基于官方arc-stable-9c57d86f66be,AUTOSAR版本3.1.5 基本问题 Arctic Core中使用了VALIDATE, VALIDATE_RV, VALIDATE_NO_RV ...

  8. 总结Array类型中常用的方法

    Array类型应该是 ECMAScript 中最常用的类型之一了,并且它定义的数组与其他语言有着相当大的区别.数组是数据的有序集合,我们可以通过下标对指定位置的数据进行读 写:特别的是,在 ECMAS ...

  9. 语音识别中的CTC算法的基本原理解释

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文作者:罗冬日 目前主流的语音识别都大致分为特征提取,声学模型,语音模型几个部分.目前结合神经网络的端到端的声学模型训练方法主要CTC和基 ...

  10. MySQL中查询时"Lost connection to MySQL server during query"报错的解决方案

    一.问题描述: mysql数据库查询时,遇到下面的报错信息: 二.原因分析: dw_user 表数据量比较大,直接查询速度慢,容易"卡死",导致数据库自动连接超时.... 三.解决 ...