Expand Windows section: execution policy, UAC/MSI error explanation, permission notes

This commit is contained in:
2026-05-04 11:32:59 +02:00
parent 5feef6b9d7
commit aa9f37557e

110
README.md
View File

@ -189,38 +189,34 @@ ssh -o ProxyCommand='upterm proxy wss://TOKEN@upterm.ebesch.de' \
## Windows Client
### Installation via Scoop (empfohlen)
### Voraussetzungen & Berechtigungen
**Scoop installieren** (PowerShell als Administrator):
PowerShell muss Skripte aus dem Internet ausführen dürfen. Standard-Installation blockiert dies.
**Execution Policy setzen** (einmalig, PowerShell als Administrator):
```powershell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
```
> **Hinweis:** Der Log zeigt die Installation unter dem `Administrator`-Konto (`C:\Users\Administrator>`).
> Scoop installiert sich dabei in `%USERPROFILE%\scoop\` also benutzerspezifisch, nicht systemweit.
> Auf normalen Benutzerkonten ist das Vorgehen identisch.
---
### Installation via Scoop
**1. Scoop installieren:**
```powershell
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
```
**Bekanntes Problem: 7zip-Extraktion schlägt fehl (Exit code 1640)**
Scoop fügt `~\scoop\shims` automatisch zum PATH hinzu.
**PowerShell nach der Installation neu starten**, damit der PATH wirksam wird.
7zip installiert sich via MSI und schlägt auf manchen Windows-Systemen mit folgendem Fehler fehl:
```
ERROR Exit code was 1640!
Failed to extract files from ...\7z2601-x64.msi.
```
**Workaround:** `lessmsi` als alternativen MSI-Extraktor verwenden:
```powershell
# Fehlgeschlagene Installation bereinigen
scoop uninstall 7zip
scoop cache rm 7zip
# lessmsi als MSI-Extraktor aktivieren
scoop config use_lessmsi true
# 7zip erneut installieren diesmal via lessmsi
scoop install 7zip
```
**upterm installieren:**
**2. upterm-Bucket hinzufügen und upterm installieren:**
```powershell
scoop bucket add upterm https://github.com/owenthereal/scoop-upterm
@ -229,20 +225,61 @@ scoop install upterm
---
### Bekanntes Problem: 7zip Exit code 1640
Scoop installiert `7zip` als Abhängigkeit via MSI. Auf manchen Systemen schlägt die MSI-Extraktion fehl:
```
ERROR Exit code was 1640!
Failed to extract files from ...\7z2601-x64.msi.
```
Fehlercode 1640 bedeutet: Installation aus einer anderen Sitzungsebene heraus nicht erlaubt (UAC/Sitzungskonflikt bei MSI-Paketen).
**Workaround lessmsi als MSI-Extraktor verwenden:**
```powershell
# Fehlgeschlagene Installation bereinigen
scoop uninstall 7zip
scoop cache rm 7zip
Remove-Item -Recurse -Force "$env:USERPROFILE\scoop\apps\7zip" -ErrorAction SilentlyContinue
# lessmsi aktivieren (ersetzt den Windows Installer für MSI-Pakete)
scoop config use_lessmsi true
# 7zip erneut installieren
scoop install 7zip
```
Danach läuft `scoop install upterm` ohne weitere Probleme durch.
---
### Nutzung unter Windows
**Session starten (PowerShell):**
```powershell
# Eigener Server, automatisch akzeptieren
upterm host --server ssh://upterm.ebesch.de:2222 --accept
# Beim ersten Verbinden: Host-Key bestätigen mit "yes"
# Danach erscheint der Token direkt:
# ➤ SSH: ssh TOKEN:HASH@upterm.ebesch.de -p 2222
```
> Unter Windows startet upterm standardmäßig eine `powershell -NoLogo` Session statt `bash`.
Beim **ersten Verbinden** erscheint eine Host-Key-Warnung einmalig mit `yes` bestätigen:
```
The authenticity of host '[upterm.ebesch.de]:2222 ...' can't be established.
ED25519 key fingerprint is SHA256:nOHK++kJYUJz1bqUY1AM6defn36vTXsgWuSEhr3ltLk.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
```
Danach erscheint der Token sofort:
```
Session: MCZoCPoVAz5uTINZkdNN
➤ SSH: ssh TOKEN:HASH@upterm.ebesch.de -p 2222
➤ SFTP: sftp -P 2222 TOKEN:HASH@upterm.ebesch.de
```
> Unter Windows startet upterm eine `powershell -NoLogo` Session statt `bash`.
**Client verbindet sich (nur SSH nötig):**
@ -254,8 +291,9 @@ ssh TOKEN:HASH@upterm.ebesch.de -p 2222
### Troubleshooting
| Problem | Lösung |
|---------|--------|
| 7zip Exit code 1640 | `scoop config use_lessmsi true`, dann `scoop install 7zip` neu |
| Host-Key Warnung | Einmalig mit `yes` bestätigen; Fingerprint: `SHA256:nOHK++kJYUJz1bqUY1AM6defn36vTXsgWuSEhr3ltLk` |
| `upterm` nicht gefunden | PowerShell neu starten (PATH wird erst nach Neustart übernommen) |
| Problem | Ursache | Lösung |
|---------|---------|--------|
| `Skriptausführung deaktiviert` | Execution Policy zu restriktiv | `Set-ExecutionPolicy RemoteSigned -Scope CurrentUser` |
| 7zip Exit code 1640 | MSI-Sitzungskonflikt (UAC) | `scoop config use_lessmsi true`, dann 7zip neu installieren |
| Host-Key Warnung | Erster Verbindungsaufbau | Einmalig `yes` Fingerprint: `SHA256:nOHK++kJYUJz1bqUY1AM6defn36vTXsgWuSEhr3ltLk` |
| `upterm` nicht gefunden | PATH noch nicht aktiv | PowerShell neu starten |