设备系统:linux系统

工作内容:经常切换不同的设备WiFi,通过ssh连接设备部署portal

设备环境:设备环境固定,不能安装软件,现有的环境是,

    ssh服务器端,不支持秘钥认证,仅支持口令认证

    安装有ftp客户端,没有服务器端

本地win10:

    本地win10已经配置ftp服务器

工作需求:工作重复性高,所以想通过脚本实现自动化部署

工作方式:

    本地从svn上下载并打包准备更新

     通过xshell连接设备,然后执行设备上已经写好脚本(脚本免贴)

思路:

    设备不支持ftp服务器,那只能通过ssh连接触发脚本进行部署

    查到OpenSSHWindows可以实现命令行连接,安装OK后,添加环境变量(省略)

脚本实现:

netsh wlan connect name="SSID-1" ssid="SSID-1"

set version="emAdvBottom"

rd /s /q D:\ftp\AMOL_pkg

del D:\ftp\AMOL_pkg.zip


svn export https://XXX/svn/XXX/branches/%version% D:\ftp\AMOL_pkg

D:\softinstall\7-Zip\7z.exe a D:\ftp\AMOL_pkg.zip D:\ftp\AMOL_pkg 

echo %version%


echo "pswd"

::pswd

ssh root@IP /root/deploy.sh

svn log https://XXX/svn/XXX/branches/%version% -q

pause

问题:

每次执行“ssh root@IP /root/deploy.sh”时都需要确定“yes”和输入密码

之后在openssh安装目录下创建登录win10的用户的家目录(home下创建用户名一样的目录),不用再输入yes了

但是密码依然需要输入,何解? 


更新一版:

netsh wlan connect name="XXX" ssid="XXX"

set version=XXX

rd /s /q D:\ftp\AMOL_pkg

del D:\ftp\AMOL_pkg.zip

svn export https://svn.ihangmei.com/svn/airwifi_html5/branches/%version% D:\ftp\AMOL_pkg

D:\softinstall\7-Zip\7z.exe a D:\ftp\AMOL_pkg.zip D:\ftp\AMOL_pkg 

echo %version%


echo XXX| clip

ssh root@IP /root/XXX.sh


svn log SVNURL/%version% -q

pause


实现密码加到剪贴板,在输入密码的时候直接右键一下就能继续了