ssh-handler 1.0.7__tar.gz → 1.0.8__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. {ssh_handler-1.0.7/ssh_handler.egg-info → ssh_handler-1.0.8}/PKG-INFO +1 -1
  2. {ssh_handler-1.0.7 → ssh_handler-1.0.8}/pyproject.toml +1 -1
  3. {ssh_handler-1.0.7 → ssh_handler-1.0.8}/ssh_handler/__init__.py +1 -1
  4. {ssh_handler-1.0.7 → ssh_handler-1.0.8}/ssh_handler/setup_openssh_server.ps1 +20 -1
  5. {ssh_handler-1.0.7 → ssh_handler-1.0.8/ssh_handler.egg-info}/PKG-INFO +1 -1
  6. {ssh_handler-1.0.7 → ssh_handler-1.0.8}/LICENSE +0 -0
  7. {ssh_handler-1.0.7 → ssh_handler-1.0.8}/README.md +0 -0
  8. {ssh_handler-1.0.7 → ssh_handler-1.0.8}/setup.cfg +0 -0
  9. {ssh_handler-1.0.7 → ssh_handler-1.0.8}/ssh_handler/__main__.py +0 -0
  10. {ssh_handler-1.0.7 → ssh_handler-1.0.8}/ssh_handler/cli.py +0 -0
  11. {ssh_handler-1.0.7 → ssh_handler-1.0.8}/ssh_handler/config.py +0 -0
  12. {ssh_handler-1.0.7 → ssh_handler-1.0.8}/ssh_handler/core.py +0 -0
  13. {ssh_handler-1.0.7 → ssh_handler-1.0.8}/ssh_handler/credentials.py +0 -0
  14. {ssh_handler-1.0.7 → ssh_handler-1.0.8}/ssh_handler/exceptions.py +0 -0
  15. {ssh_handler-1.0.7 → ssh_handler-1.0.8}/ssh_handler/ftp.py +0 -0
  16. {ssh_handler-1.0.7 → ssh_handler-1.0.8}/ssh_handler/openssh/OpenSSH-ARM64.zip +0 -0
  17. {ssh_handler-1.0.7 → ssh_handler-1.0.8}/ssh_handler/openssh/OpenSSH-Win32.zip +0 -0
  18. {ssh_handler-1.0.7 → ssh_handler-1.0.8}/ssh_handler/openssh/OpenSSH-Win64.zip +0 -0
  19. {ssh_handler-1.0.7 → ssh_handler-1.0.8}/ssh_handler/pool.py +0 -0
  20. {ssh_handler-1.0.7 → ssh_handler-1.0.8}/ssh_handler/pyqt_worker.py +0 -0
  21. {ssh_handler-1.0.7 → ssh_handler-1.0.8}/ssh_handler/results.py +0 -0
  22. {ssh_handler-1.0.7 → ssh_handler-1.0.8}/ssh_handler/winrm_bootstrap.py +0 -0
  23. {ssh_handler-1.0.7 → ssh_handler-1.0.8}/ssh_handler.egg-info/SOURCES.txt +0 -0
  24. {ssh_handler-1.0.7 → ssh_handler-1.0.8}/ssh_handler.egg-info/dependency_links.txt +0 -0
  25. {ssh_handler-1.0.7 → ssh_handler-1.0.8}/ssh_handler.egg-info/entry_points.txt +0 -0
  26. {ssh_handler-1.0.7 → ssh_handler-1.0.8}/ssh_handler.egg-info/requires.txt +0 -0
  27. {ssh_handler-1.0.7 → ssh_handler-1.0.8}/ssh_handler.egg-info/top_level.txt +0 -0
  28. {ssh_handler-1.0.7 → ssh_handler-1.0.8}/tests/test_offline.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ssh-handler
3
- Version: 1.0.7
3
+ Version: 1.0.8
4
4
  Summary: Extensive SSH/SFTP/SCP/FTP handler built on Paramiko, for test automation, CLIs and PyQt5 tools.
5
5
  Author: ssh-handler contributors
6
6
  License-Expression: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "ssh-handler"
7
- version = "1.0.7"
7
+ version = "1.0.8"
8
8
  description = "Extensive SSH/SFTP/SCP/FTP handler built on Paramiko, for test automation, CLIs and PyQt5 tools."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.8"
@@ -22,7 +22,7 @@ dependencies (PyQt5 / scp) don't break the core package.
22
22
 
23
23
  from __future__ import annotations
24
24
 
25
- __version__ = "1.0.7"
25
+ __version__ = "1.0.8"
26
26
 
27
27
  from .config import SSHConfig, FTPConfig
28
28
  from .core import SSHHandler, ShellSession
@@ -114,6 +114,21 @@ else {
114
114
  if (-not (Test-Path $installer)) { throw "install-sshd.ps1 missing in $dest" }
115
115
  & powershell -NoProfile -ExecutionPolicy Bypass -File $installer | Out-Null
116
116
  Write-Host " OpenSSH Server installed." -ForegroundColor Green
117
+
118
+ # Generate host keys and fix their ACLs. Without this, ZIP installs often
119
+ # accept the TCP connection but fail the handshake -> clients see
120
+ # "Error reading SSH protocol banner".
121
+ $keygen = Join-Path $dest 'ssh-keygen.exe'
122
+ if (Test-Path $keygen) {
123
+ & $keygen -A | Out-Null
124
+ Write-Host " Host keys generated." -ForegroundColor Green
125
+ }
126
+ $fixPerms = Join-Path $dest 'FixHostFilePermissions.ps1'
127
+ if (Test-Path $fixPerms) {
128
+ & powershell -NoProfile -ExecutionPolicy Bypass -File $fixPerms `
129
+ -Confirm:$false | Out-Null
130
+ Write-Host " Host key permissions fixed." -ForegroundColor Green
131
+ }
117
132
  }
118
133
  finally {
119
134
  if (Test-Path $tmp) { Remove-Item $tmp -Recurse -Force -ErrorAction SilentlyContinue }
@@ -129,7 +144,11 @@ else {
129
144
  # --- 4. Service + firewall -------------------------------------------------- #
130
145
  Write-Host "Configuring sshd service and firewall..."
131
146
  Set-Service -Name sshd -StartupType Automatic
132
- Start-Service sshd
147
+ if ((Get-Service sshd).Status -eq 'Running') {
148
+ Restart-Service sshd # pick up freshly generated host keys
149
+ } else {
150
+ Start-Service sshd
151
+ }
133
152
 
134
153
  $ruleName = "OpenSSH-Server-In-TCP"
135
154
  if (-not (Get-NetFirewallRule -Name $ruleName -ErrorAction SilentlyContinue)) {
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ssh-handler
3
- Version: 1.0.7
3
+ Version: 1.0.8
4
4
  Summary: Extensive SSH/SFTP/SCP/FTP handler built on Paramiko, for test automation, CLIs and PyQt5 tools.
5
5
  Author: ssh-handler contributors
6
6
  License-Expression: MIT
File without changes
File without changes
File without changes