Windows+jenkins+ssh从agent发送文件到server

Windows+jenkins+ssh从agent发送文件到server

1.配置freeSSHd
1)安装完之后添加用户,Authorization选择Password stored as SHA1 hash,输入密码,勾选SFTP
Windows+jenkins+ssh从agent发送文件到server
2)点击SSH,进行如下配置,Listen address选择server的IP地址
Windows+jenkins+ssh从agent发送文件到server
3)点击Authentication,Public key folder可以自己设置,具体配置如下:
Windows+jenkins+ssh从agent发送文件到server
4)点击SFTP,设置文件夹位置,注意:此文件夹一定要提前创建好,否则连接不上。
Windows+jenkins+ssh从agent发送文件到server
5)点击Server status,
Windows+jenkins+ssh从agent发送文件到server
点击红色框框,如果报错就将FreeSSHS服务关掉,然后再点击,最后的结果:
Windows+jenkins+ssh从agent发送文件到server
2配置jenkins
1)配置Publish Over SSH
Username就是SSH中的用户名
Passphrase/Password就是SSH用户名对应的密码
配置完点击Test Configuration,如果显示Success就说明配置成功了
Windows+jenkins+ssh从agent发送文件到server
Windows+jenkins+ssh从agent发送文件到server
2)项目中的配置
Windows+jenkins+ssh从agent发送文件到server

Windows+jenkins+ssh从agent发送文件到server
注意这里配置的Source files只能是发送agent的workspace中的文件,也就是agent本地工作目录下的文件。
/report/*指的是report文件夹下所有的文件。
Remote dirctory的位置是在SSH中SFTP配置的文件夹中。

注意:如果SSH断开后,再点击连接会发现连接不上,我只能通过卸载freeSSHd,然后重新配置一次就可以了,要把server中用户下面.ssh中known_hosts文件删掉就可以了。不知道有没有哪位大神能提供其他方法。
可以在cmd命令中测试ssh是否能连接成功,要用管理员权限启动cmd
cmd命令为: sftp 用户@IP
卸载完不删掉.ssh中的文件会出现:
Windows+jenkins+ssh从agent发送文件到server
删掉.ssh中的文件后:
Windows+jenkins+ssh从agent发送文件到server
这样就算连接成功了