- package: tis-openssh-server
- name: OpenSSH Server
- version: 9.8.3.0-0
- categories: system
- maintainer: Bertrand Lemoigne, Tranquil IT
- target_os: windows
- impacted_process: sshd
- architecture: x86
- signature_date:
- size: 5.47 Mo
- homepage : https://github.com/PowerShell/Win32-OpenSSH/
package : tis-openssh-server
version : 9.8.3.0-0
architecture : x86
section : base
priority : optional
name : OpenSSH Server
categories : system
maintainer : Bertrand Lemoigne, Tranquil IT
description : OpenSSH Server
depends :
conflicts :
maturity : PROD
locale :
target_os : windows
min_wapt_version :
sources : https://github.com/PowerShell/Win32-OpenSSH/releases/latest
installed_size :
impacted_process : sshd
description_fr :
description_pl :
description_de :
description_es :
description_pt :
description_it :
description_nl :
description_ru :
audit_schedule :
editor :
keywords :
licence :
homepage : https://github.com/PowerShell/Win32-OpenSSH/
package_uuid : 5bcbc345-255d-4fde-b8e8-a0c3e5eb4cd9
valid_from :
valid_until :
forced_install_on :
changelog :
min_os_version : 10
max_os_version :
icon_sha256sum : 9420721210f5d9c50c9e35c9fdbf0a088b30e165df8311c5f2176ce60e122475
signer : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date : 2025-04-23T19:14:23.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature : hs38gX90fbfMGO74U1VZ1luqJKVmNdwnSUesNFWP8QsgH5hn/oe8FshoIvadl74SerQ2PdQpmTPYB0uamV2TBFkqDW5VXx/55KAOEN9HXsSGg4fCkvclmLCQ4agLdyMT3fiw4nKZpyEaz2GYcznc0jBvdWQdmKWKtkRfKrJI1UdiMlDNQ7jQNhv4TrAwfnkYJeeQQsmCNQob+7PAUeHrUAnYX2PWa3U7WA6uf6wid1JQQHo01kJKGOzEVPuSgzIBSbgaG3KJNnGF1uy1QkrNUq6bbYfAjJkzzH9VCoaG5F8mOr+4yA0NZfRiUgzjM3kyaMPbZrEYiqHFTrN13UeuDw==
# -*- coding: utf-8 -*-
from setuphelpers import *
r"""
Please replace public keys in authorized_keys list before building and installing this package:
"""
##authorized_keys = ['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCy9f0/nwkXESzkL4v4ftZ24VJYvkQ/Nt6vsLab3iSWtJXqrRsBythCcbAU6W95OGxjbTSFFtp0poqMcPuogocMR7QhjY9JGG3fcnJ7nYDCGRHD4zfG5Af/tHwvJ2ew0WTYoemvlfZIG/jZ7fsuOQSyUpJoxGAlb6/QpnfSmJjxCx0VEoppWDn8CO3VhOgzVhWx0dcne+ZcUy3Kkt3HBQN0hosRfqkVSRTvkpK4RD8TaW5PrVDe1r2Q5ab37TO+Ls4xxt16QlPubNxWeH3dHVzXdmFAItuH0DuyLyMoW1oxZ6+NrKu+pAAERxM303gejFzKDqXid5m1EOTvk4xhyqYN user@host',
## 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDmak4Wu23RZ6XmN94bOsqecZxuTa4RRhhQmHmTZjMB7HM57/90u/B/gB/GhsPEu1nAXL0npY56tT/MPQ8vRm2C2W9A7CzN5+z5yyL3W01YZy3kzslk77CjULjfhrcfQSL3b2sPG5jv5E5/nyC/swSytucwT/PE7aXTS9H6cHIKUdYPzIt94SHoBxWRIK7PJi9d+eLB+hmDzvbVa1ezu5a8yu2kcHi6NxxfI5iRj2rsceDTp0imC1jMoC6ZDfBvZSxL9FXTMwFdNnmTlJveBtv9nAbnAvIWlilS0VOkdj1s3GxBxeZYAcKbcsK9sJzusptk5dxGsG2Z8vInaglN6OaOQ7b7tcomzCYYwviGQ9gRX8sGsVrw39gsDIGYP2tA4bRr7ecHnlNg1b0HCchA5+QCDk4Hbz1UrnHmPA2Lg9c3WGm2qedvQdVJXuS3mlwYOqL40aXPs6890PvFJUlpiVSznF50djPnwsMxJZEf1HdTXgZD1Bh54ogZf7czyUNfkNkE69yJDbTHjpQd0cKUQnu9tVxqmBzhX31yF4VcsMeADcf2Z8wlA3n4LZnC/GwonYlq5+G93zJpFOkPhme8c2XuPuCXF795lsxyJ8SB/AlwPJAhEtm0y0s0l1l4eWqxsDxkBOgN+ivU0czrVMssHJEJb4o0FLf7iHhOW56/iMdD9w== userName']
authorized_keys = []
def install():
# Installing the software
filename = glob.glob('*.msi')[0]
install_msi_if_needed(filename)
run_powershell(r'[Environment]::SetEnvironmentVariable("Path", [Environment]::GetEnvironmentVariable("Path",[System.EnvironmentVariableTarget]::Machine) + ";" + ${Env:ProgramFiles} + "\OpenSSH", [System.EnvironmentVariableTarget]::Machine)')
run_powershell('Start-Service sshd')
run_powershell("Set-Service -Name sshd -StartupType 'Automatic'")
for key in authorized_keys:
run_powershell(rf'Add-Content -Force -Path C:\ProgramData\ssh\administrators_authorized_keys -Value "{key}"')
run_powershell(r'icacls.exe "C:\ProgramData\ssh\administrators_authorized_keys" /inheritance:r /grant "*S-1-5-32-544:F" /grant "*S-1-5-18:F"')
# -*- coding: utf-8 -*-
from setuphelpers import *
from waptutils import get_sha256
import json
def update_package():
package_updated = False
proxies = get_proxies()
if not proxies:
proxies = get_proxies_from_wapt_console()
api_url = "https://api.github.com/repos/PowerShell/Win32-OpenSSH/releases/latest"
os_dict = {"windows": ".msi", "linux": ".AppImage", "darwin": ".dmg"}
arch_dict = {"x64": "win64.exe", "x86": "win32.exe"}
# Getting latest version information from official sources
print("API used is: %s" % api_url)
json_load = json.loads(wgets(api_url, proxies=proxies))
for file in json_load['assets']:
if 'Win32' in file['name'] and 'msi' in file['name']:
download_url = file["browser_download_url"]
version = json_load["tag_name"].split("-")[-1].replace("v", "")
latest_bin = file["name"]
break
# Downloading latest binaries
print("Latest %s version is: %s" % (control.name, version))
print("Download URL is: %s" % download_url)
if not isfile(latest_bin):
print("Downloading: %s" % latest_bin)
wget(download_url, latest_bin, proxies=proxies)
else:
print("Binary is present: %s" % latest_bin)
# Checking version from file
version_from_file = get_version_from_binary(latest_bin).split("-")[0]
# if not version_from_file.startswith(version) and version_from_file != '':
if Version(version_from_file) != Version(version) and version_from_file != "":
print("Changing version to the version number of the binary")
os.rename(latest_bin, latest_bin.replace(version, version_from_file))
version = version_from_file
else:
print("Binary file version corresponds to online version")
# Changing version of the package
if Version(version) > Version(control.get_software_version()):
print("Software version updated (from: %s to: %s)" % (control.get_software_version(), Version(version)))
package_updated = True
else:
print("Software version up-to-date (%s)" % Version(version))
control.set_software_version(version)
control.save_control_to_wapt()
# Deleting outdated binaries
remove_outdated_binaries(version)
# Validating update-package-sources
return package_updated
2b92552423d26b33dbfcef03c60cbd4017b390f967d9c1ecdc53e01856f602c1 : OpenSSH-Win32-v9.8.3.0.msi
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
abdbb9a69f5ca39e7efd37680b7c017c30eba137aa04389eb92d42f98a8eed04 : WAPT/control
9420721210f5d9c50c9e35c9fdbf0a088b30e165df8311c5f2176ce60e122475 : WAPT/icon.png
840658d4166db119ee028cccd91d725877abdb21e11ed4abba1fe2a1d1754394 : luti.json
16665d59b36cfd379e6c26c7a51ea1b15da98e941e301c0e89f3b08fb138f9b3 : setup.py
74254aad1b4f311789c2da81f6c58b230613c39de153a7fd009fea6f028a05c7 : update_package.py