背景
最近在做一个Windows桌面应用(基于net fx)的开发,在做持续集成的时候,需要通过CI Runner在Windows机器上构建程序后推送到Linux服务器上(下载页面在Linux机器上),这个过程就涉及了从windows上通过执行脚本自动地通过scp把文件复制到SSH服务器(Linux)上。
解决方案
工作环境
客户端:
1. windows 10
2. chocolatey
3. powershell
服务器:
1. Ubuntu 18.04
2. sshd
工作步骤
1. 创建用户
由于在本应用场景中只需要ssh用户把文件上传到特定位置,因此应该授予这个用户一个较低的权限,所以首先在服务器端创建一个新的用户
sudo adduser xxx
2. 在客户端安装chocolatey
chocolatey是Windows上的一个软件包管理工具,更准确地说,应该是一个命令行软件包管理工具,类似于Linux上的apt或yum。
用管理员身份打开powershell,输入以下命令
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadS
tring('https://chocolatey.org/install.ps1'))