1.      ssh简介以及本例的应用场景

①       ssh的简介

SSH是一个用来替代TELNET、FTP以及R命令的工具包,主要是想解决口令在网上明文传输的问题。为了系统安全和用户自身的权益,推广SSH是必要的。 SSH是英文Secure Shell的简写形式。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。

②       本例的应用场景

用户在client(Linux)上通过ssh远程执行server(Windows)上的命令,比如c:\test.bat

注:Linux版自带ssh Server且默认启动,具体设置方法请参见google。

2.      ssh服务器的安装(Windows)

ssh服务器软件有许多中,我们这里使用的是免费的freeSSHd。

①       首先从官方站点下载软件并安装(http://www.freesshd.com/

②       安装完成后进入配置界面(Server Status),确认SSH server正在运行状态

③       进入Users界面,设定一个访问的用户账户(比如xut)

这里我们建立一个叫xut的用户,认证有3种方式可以选择。从以后通过ssh运行命令的方便(无需输入密码)考虑,我们选择Public key认证方式。选择Password方式的话,每次访问需要输入密码,此种方式较为繁琐而且安全性不高。然后开放其Shell权限。

④       进入认证界面,确认Public key认证方式属于激活状态(选择Allowed或Required)

此时ssh服务器端的基本设置已经OK,可进一步进行更加详细的设置(比如访问限定等),此处不再介绍。

注意:服务器端如果有防护墙时应该开发TCP 22号端口最为ssh连接使用。

3.      ssh客户端的设置(Linux)

由于我们的客户端采用的是Linux,所以不用安装客户端软件,系统自带的就有。

我们需要在Linux上创建一个共有和私有的密钥对,私有密钥放到客户端(Linux)上,共有密钥放到服务器端(Windows)上。在Linux上通过ssh-keygen命令来创建。

[root@localhost ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): [直接回车]
Enter passphrase (empty for no passphrase): [直接回车]
Enter same passphrase again: [直接回车]
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
4d:dd:48:af:76:c2:ba:a8:bc:20:f3:28:1d:6a:28:53

其中,/root/.ssh/id_rsa为私有密钥,/root/.ssh/id_rsa.pub为共有的密钥。

此时,需要把共有密钥放到服务器端(Windows)进行保存,以便于服务器端进行安全检查。

我们通过认证界面找到存放共有密钥的地址(Public key folder)。

如上图所示,然后在c:\Program Files\freeSSHd目录下创建以登录用户名为名字的文本文件,此处举例为xut文件。并将/root/.ssh/id_rsa.pub文件中的内容拷贝到c:\Program Files\freeSSHd\xut文件中。

至此,客户端和服务器端的密钥设置已经完成,可以通过如下命令进行远程的命令执行。

ssh xut@172.28.xx.xxx "c:\test.bat"

这条命令将执行服务器端的C盘下的test.bat文件,并把结果返回,整个操作不需输入密码。

4.      ssh客户端的设置(Windows)

由于Windows不附带ssh的客户端和服务器端,我们这里找一个免费的客户端软件PuTTY。

PuttY主页:http://www.chiark.greenend.org.uk/~sgtatham/putty/

各种客户端的比较:http://en.wikipedia.org/wiki/Comparison_of_SSH_clients

在Putty主页,我们下载putty.zip(含除了PuTTYtel以外的所有文件),然后解压会发现一个叫plink.exe的文件,这就是我们的ssh客户端命令行软件。

我们首先要成一个共有和私有的密钥对,使用putty.zip中附带的PUTTYGEN.exe生成。

启动PUTTYGEN.exe后可以见到下图界面,点击[Generate]即可生成所需密钥对。

注意:由于是采用随机算法生成,需要不停地在对话框上移动鼠标进度条才会增加,否则将保持不变。

鼠标在这里不停移动

密钥生成完毕后,可以把私有密钥进行保存,为了登录简单起见不对私钥进行加密,提示没有passphrase选择忽略即可。假设我们这里把私钥保存为pri_key.ppk。

我们把公钥放在freeSSHd端(ssh服务器端)进行保存,具体保存方法参见【ssh客户端的设置(Linux)】。

在Windows客户端,执行如下命令进行ssh连接,并不需要输入密码即可通过密钥进行自动认证。

plink -i pri_key.ppk xut@172.28.xx.xxx c:\test.bat

(此时将执行服务器端的c:\test.bat脚本。)

注:第一次连接时将出现“The server's host key is not cached in the registry… ”提示,我们选择确定就可以了,以后就不会再出现了。

Windows上SSH服务器的配置以及客户端的连接的更多相关文章

  1. Windows操作系统Apache服务器下配置PHP

    在Apache web服务器上发布PHP项目之前,需要进行相应的配置,服务器才能解析php文本,正常显示php动态页面内容.在进行php配置之前默认已经在Windows系统下安装好了Apache服务器 ...

  2. windows上SSH服务连接远程主机失败

    putty连接出现错误提示"Network error:connection refused",xshell连接出现错误提示"connection failed:(por ...

  3. 《LDAP服务器的配置与客户端的测试》RHEL6——第一篇 运维工程师必考

    ldap这种原始的服务器搭建起来比较复杂,同时它也是CE必考的(客户端的搭建). 服务器端的配置: 1.安装openldap-servers软件包 2.查看ldap模板文件的存放位置: 3.拷贝lda ...

  4. [转]Windows Server 2016 服务器IIS配置

    本文转自:https://blog.csdn.net/corson/article/details/82185407 多余的话就不说了,配置Windows Server 2016服务器具体如下图    ...

  5. Windows上SVN服务器搭建【转】

    Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说.本文介绍Windows上 VisualSVN server 服务端和 TortoiseSVN客户端搭配使用: 现在S ...

  6. 在windows上远程访问服务器jupyter notebook

    需求: 之前在服务器上只能运行完整的python文件,而不能实现jupyter notebook的交互模式,通过在本地浏览器上远程访问服务器上的jupyter notebook,这样不就能有一个很棒的 ...

  7. windows上SVN服务器以及客户端TortoiseSVN的安装配置

    (1)svn的安装 1. 下载软件:Setup-Subversion-1.7.5.msi,安装就很容易了,一路NEXT 2. 把SVN的bin文件夹路径添加到环境变量中 把svn安装目录下的bin路径 ...

  8. Windows Server2003 IIS服务器安全配置整理

    一.系统的安装   1.按照Windows2003安装光盘的提示安装,默认情况下2003没有把IIS6.0安装在系统里面.2.IIS6.0的安装 开始菜单—>控制面板—>添加或删除程序—& ...

  9. 在windows上用netsh动态配置端口转发

    使用多个虚拟机,将开发环境和工作沟通环境分开(即时通,办公系统都只能在windows下使用…),将开发环境的服务提供给外部访问时,需要在主机上通过代理配置数据转发. VirtualBox提供了端口转发 ...

随机推荐

  1. java反射机制基础

    java反射机制: JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意方法和 属性:这种动态获取信息以及动态调用对象方法的功能称为j ...

  2. Linux启动或禁止SSH用户及IP的登录,只允许密钥验证登录模式

    启动或禁止SSH用户登录 一般情况下,在使用Linux操作系统都不会去机房来操作机器,都是使用一些第三方的工具来操作. 比如使用SSH Secure File Transfer Client工具来传输 ...

  3. HTML 标题标签

    HTML:超文本标记语言基本结构 <!DOCTYPE html> <!--文档的声明 一个HTML文件就是一个文档 --> <html lang="en&quo ...

  4. Java类集 List, Set, Map, Stack, Properties基本使用

    首先看下继承结构: ArrayList(常用): /** * List接口继承Collection接口 * ArrayList, Vector为List接口的实现类 * add()添加新元素,remo ...

  5. 初次接触Jenkins遇到的几个问题

    1,Jenkins一直显示pending-Waiting for next available executor 网上已经提到的原因 1>,磁盘满了 2>,节点管理 刷新状态 我遇到的情况 ...

  6. JAVA自学笔记24

    JAVA自学笔记24 1.能使用同步代码块就使用同步代码块,除非锁对象是this,就可以考虑使用同步方法.静态方法的锁是类的字节码对象. 2.JDK5新特性 1)接口Lock void Lock()/ ...

  7. 对于eclipse building workspaces 慢的问题,解决方法

    在项目根目录中有个.project文件,将其中的: <buildCommand> <name>org.eclipse.wst.jsdt.core.javascriptValid ...

  8. 微信公众号申请+新浪SAE申请

    一. 新浪SAE服务申请 1. 注冊地址:http://t.cn/RqMHPto 2. 选择控制台>>云应用SAE 3. 创建新应用 4. 填写域名 5. 代码管理选择SVN 6. 创建版 ...

  9. 如何将Powerdesign物理模型中的name复制成comment

    Option Explicit ValidationMode = True InteractiveMode = im_Batch Dim mdl ' the current model ' get t ...

  10. EasyMock 简单使用

    参考案例:(本位使用markdown编写)https://www.ibm.com/developerworks/cn/opensource/os-cn-easymock/https://www.yii ...