有关将python脚本配为windows Service并通过SSH连接的相关记录

有关将python脚本配为windows Service并通过SSH连接的相关记录

一.应用场景

需要通过gitlab中的ci中的ssh命令去同步windows机器下的代码,并重启服务脚本

二.主要步骤

1.在windows下安装OpenSSH,打开ssh服务,这样才可以在SSH中免密登录windows机器

2.将pyhon脚本配成windows服务,在ssh中通过命令重启服务。

三.详细步骤

1.在windows下安装OpenSSH(如果有自定义配置看这里,没有特殊情况就按以下操作)

前言:打开的powerShell 或者 CMD 窗口必须以管理员权限打开

1.下载最新的OpenSSH安装包

https://github.com/PowerShell/Win32-OpenSSH/releases/tag/v8.0.0.0p1-Beta

powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1

3.打开防火墙

win10下使用这个命令

netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22

Windows 2012 and above使用这个命令

New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

4.开启sshd

net start sshd

5.将sshd设为自启

Set-Service sshd -StartupType Automatic

安装好之后可以输入ssh命令,如有响应则代表配置成功

6.将linux(gitlab)服务器的公钥(注意linux的用户,在对应的用户下面找公钥)配置到windows机器上

(一定要用管理员权限打开PowerShell)

在 PowerShell 中执行 notepad .ssh\authorized_keys 命令创建文本文件,把客户端的公钥复制到这个文件中并保存

把文本文件的名称修改为 authorized_keys(没有后缀)

修改 ssh 服务的配置文件

以管理员权限打开 PowerShell,执行命令 notepad C:\ProgramData\ssh\sshd_config。

注释掉配置文件中的最后两行然后保存

最后在服务管理器器中重启 OpenSSH SSH Server 服务

2.将pyhon脚本的批处理.bat文件配成windows服务,在ssh中通过命令重启服务

1.下载软件     参考博客 https://blog.youkuaiyun.com/MAOZEXIJR/article/details/84546539

https://pan.baidu.com/s/1PI6qMjdVkuYyjRLokt7xRw 密码:fc1o

2.将解压出来的两个文件放到一个目录下,我这里举例在D盘下,

3.增加服务

命令格式 D:\instsrv.exe 服务名称 D:\srvany.exe (注意按管理员身份运行cmd,重要的事情说三遍)

举例 :D:\instsrv.exe platformOperation D:\srvany.exe

4.修改服务参数

1)打开注册表(win+r运行regedit)

查找路径:HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/platformOperation

2)platformOperation服务增加子项 Parameters

给子项 Parameters 增加两个字符串类型的参数 AppDirectory 和 Application,并指定参数值

本例中(.bat文件自己写,这里不叙述)

AppDirectory = E:\python\platform_operation_dev(程序所在文件主路径)

Application = E:\python\platform_operation_dev\platform_operation.bat(程序运行的bat路径)

最终应该如下图

3)查看服务列表,并启动 platformOperation 服务

查看服务列表(win+r运行services.msc),启动服务,至此服务配置完毕

建议在任务管理器里面查看服务状态,服务列表的状态更新不及时。

4)提供几个操作服务的命令

sc start platformOperation 启动服务

sc stop platformOperation 停止服务

sc delete platformOperation 删除服务

四.后续

现在就可以在通过ssh启动,停止,同步windows的代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值