zoukankan      html  css  js  c++  java
  • Windows上安装配置SSH教程(6)——综合应用:在Windows上实现SSH远程登陆与文件传输

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

    声明:本教程现已经弃用。由于客户端同时安装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 >> ..etcgroup
    mkpasswd -l >> ..etcpasswd

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

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

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

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

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

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

    [HKEY_LOCAL_MACHINESOFTWARECygnus SolutionsCygwinmounts v2/home]
    
    "native"="D:\OpenSSH\home"
    
    "flags"=dword:0000000a

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

    输入如下命令启动服务: 

    net start opensshd

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

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

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

    3.客户端安装OpenSSH

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

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

    如果能在C:OpenSSHetc目录下找到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
    "
    expect "*#"

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

    编写脚本文件

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

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

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

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

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

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

  • 相关阅读:
    在Ubuntu下安装TensorFlow-gpu版本
    ubuntu安装和卸载软件命令
    Window7通过Anaconda安装Tensorflow
    Kaggle Titanic Data Science Solutions
    CNN、RNN和DNN的区别
    卷积神经网络介绍
    大数据随想
    golang omitempty 总结
    LeetCode 856 递归思路详解
    安装Nginx的各种报错的解决
  • 原文地址:https://www.cnblogs.com/feipeng8848/p/8569284.html
Copyright © 2011-2022 走看看