很多场景需要再windows上开发,必然涉及到windows上任务的自动化,如用自动化工具远程登录到windows时,rdp等协议不适合直接编写脚本。这就需要再windows上通过ssh协议连接登录编写windows脚本。这里介绍一个简单常用的工具 freeSSHd。他相当于一个代理,安装在windows上就可以通过ssh工具连接了。具体实现方法

  1. 官网下载http://www.freesshd.com/?ctt=download,选择freeSSHd.exe。安装时其他都是默认安装选项,只有最后两步会弹出对话框询问是否生成私钥和是否设置为系统服务,选择“yes"即可,因为没有生成私钥,SSH服务将不能启动,设置系统服务的话每次开机都会自动启动SSH服务。
  2. 安装后,必须用管理员身份打开桌面图标,任务栏里查看工具图标

ssh连接windows服务器_客户端

  1. 先到User选项卡添加SSH用户,如图,添加默认的系统管理员帐号,authorization选择NT authentication,这样的话密码就是系统管理员帐号的密码。然后勾选shell,SFTP选项,确定添加。

ssh连接windows服务器_管理员帐号_02

  1. 选择SSH,这里可以设置key的存放位置,监听的地址和端口,具体配置如下

ssh连接windows服务器_客户端_03

  1. 然后在SFTP中设置home path,该SFTP home path就是以后通过ssh上传文件的根目录

ssh连接windows服务器_系统服务_04

  1. 选择Authentication选项卡,password authentication项选择Required项,Public key authentication选择Disabled项。如果不这样设置连接的时候将会出现Access denied的错误,导致ssh客户端不能连接。

ssh连接windows服务器_客户端_05

  1. 结束任务管理器中的进程freeshd,右键点击任务栏下的freesshd图标点击Unload退出软件,然后重新打开freesshd软件。打开后点击Server status下的Click here to start 启动SSH服务


ssh连接windows服务器_管理员帐号_06

  1. 添加22端口的防火墙放行,>> 控制面板\系统和安全\Windows 防火墙\高级设置\入站规则\新建规则:规则类型:端口,下一步;特定本地端口:22,下一步;允许连接,下一步;何是应用该规则选择全部,下一步;名称随便取,完成。
  2. 使用客户端工具连接