工作中有要自动化部署windows数据库的需求,包括还原数据库,执行脚本,建立作业等操作,手动执行非常繁琐,于是想到通过jenkins远程windows服务器执行命令,jenkins都是通过ssh协议进行文件传输以及命令传输的,但是windows的远程是RDP协议的,要从这方面想办法,给windows安装ssh服务。
可以到 OpenSSH的官方仓库 下载最新版安装程序,也可以使用下面我准备的安装包。
1 | https://3dview-1251252938.cos.ap-shanghai.myqcloud.com/dengjinjun/software/OpenSSH-Win64.zip |
下载完成后解压到C:\Program Files
目录,注意尽量不要嵌套目录,其中的install-sshd.ps1
是安装脚本,打开powershell,将脚本拖到powershell面板中执行,无错误输出代表安装完成。
powershell中执行命令,启动服务并且设置为开机自启。
1 | net start sshd |
然后在服务中可以找到OpenSSH服务的信息
然后到C:\ProgramData\ssh
目录中(这是隐藏的目录),打开ssh_config
文件,找到#PubkeyAuthentication yes
,去掉注释即可开启密钥认证功能。
然后在此目录中新建一个文件,命名为administrators_authorized_keys
,把jenkins服务器的id_rsa.pub
文件中的内容复制粘贴到这个文件中,保存即可。
powershell中执行命令,重启sshd
1 | Stop-Service sshd |
测试,在jenkins服务器上执行命令,不需要输入密码就可以连上了
1 | ssh administrator@10.100.14.188 |