SSH használat Windows-on
Beépített OpenSSH kliens használata Windows 10/11 alatt - csatlakozás HelloHost szerverekhez, fájlmásolás (scp/sftp), ssh-agent, config fájl, PuTTY alternatíva.
Windows 10/11-en a Microsoft beépített OpenSSH klienst szállít – ugyanazokkal a parancsokkal dolgozhatsz, mint macOS / Linux alatt. Nincs szükség PuTTY-ra, WinSCP-re vagy egyéb külső eszközre.
Ez az útmutató bemutatja, hogyan csatlakozz HelloHost szerverekhez PowerShell-ből és Windows Terminal-ból, hogyan másolj fájlokat, és hogyan automatizáld a munkafolyamatod.
Előfeltételek
Szekció neve “Előfeltételek”OpenSSH kliens jelenléte
Szekció neve “OpenSSH kliens jelenléte”Windows 10 1809+ és Windows 11 alapból tartalmazza. Ellenőrizni PowerShell-ben:
ssh -VHa ezt látod: OpenSSH_for_Windows_9.x.x.x – kész vagy. Ha 'ssh' is not recognized hibát kapsz, telepítsd:
# Rendszergazda PowerShellAdd-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0SSH kulcs
Szekció neve “SSH kulcs”Ha még nincs SSH kulcspárod, először olvasd el a SSH kulcs generálás oldalt.
Csatlakozás szerverhez
Szekció neve “Csatlakozás szerverhez”A HelloHost felületén a szerver oldalán a Configuration szekcióban találod:
- IP Address: pl.
2a01:4f9:5a:4651::108 - SSH Host: pl.
2a01-4f9-5a-4651--108.ssh.hellohost.io:10009
Az SSH Host tartalmazza a portot is a : után. A kapcsolódás így néz ki:
ssh -p 10009 <felhasznalo>@2a01-4f9-5a-4651--108.ssh.hellohost.ioPl. WordPress app tulajdonos userként:
ssh -p 10009 voytachadev-hellodevs-dev@2a01-4f9-5a-4651--108.ssh.hellohost.ioElső csatlakozásnál host key fingerprint ellenőrzést kér:
The authenticity of host '[...]:10009 ([...])' can't be established.ED25519 key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxAre you sure you want to continue connecting (yes/no/[fingerprint])?Ha ez az első kapcsolódás, írd be yes. A fingerprint elmentésre kerül a %USERPROFILE%\.ssh\known_hosts fájlba.
Fájlmásolás
Szekció neve “Fájlmásolás”scp – egyszerű másolás
Szekció neve “scp – egyszerű másolás”Feltöltés (local → server):
scp -P 10009 C:\dev\backup.sql voytachadev-hellodevs-dev@2a01-4f9-5a-4651--108.ssh.hellohost.io:/home/voytachadev-hellodevs-dev/webapps/voytachadev.hellodevs.dev/Letöltés (server → local):
scp -P 10009 voytachadev-hellodevs-dev@2a01-4f9-5a-4651--108.ssh.hellohost.io:/home/voytachadev-hellodevs-dev/webapps/voytachadev.hellodevs.dev/wp-config.php C:\dev\Egész mappa (rekurzívan):
scp -P 10009 -r C:\dev\wp-content\themes\mytheme voytachadev-hellodevs-dev@...:/home/voytachadev-hellodevs-dev/webapps/voytachadev.hellodevs.dev/wp-content/themes/sftp – interaktív fájlkezelő
Szekció neve “sftp – interaktív fájlkezelő”Az sftp parancssoros fájlkezelőt ad, FTP-szerű szintaxissal:
sftp -P 10009 voytachadev-hellodevs-dev@2a01-4f9-5a-4651--108.ssh.hellohost.ioBelül a gyakori parancsok:
| Parancs | Leírás |
|---|---|
ls |
Remote mappa listázása |
lls |
Lokális mappa listázása |
cd <dir> |
Remote könyvtárváltás |
lcd <dir> |
Lokális könyvtárváltás |
get <fájl> |
Letöltés a remote-ról |
put <fájl> |
Feltöltés a local-ról |
mget *.sql |
Több fájl letöltése |
bye / exit |
Kilépés |
~/.ssh/config – egyszerűsített kapcsolódás
Szekció neve “~/.ssh/config – egyszerűsített kapcsolódás”A C:\Users\<user>\.ssh\config fájlba felvehetsz aliasokat, hogy ne kelljen minden parancsnál a hosszú hostnevet és portot beírni.
Host wphu HostName 2a01-4f9-5a-4651--108.ssh.hellohost.io Port 10009 User voytachadev-hellodevs-dev IdentityFile ~/.ssh/id_ed25519 AddKeysToAgent yes
Host hellohost-root HostName 2a01-4f9-5a-4651--103.ssh.hellohost.io Port 10005 User root IdentityFile ~/.ssh/id_ed25519Ezután csak:
ssh wphuscp -P file.txt wphu:~Vigyázz: scp-nél a -P-t továbbra is megadhatod, vagy a config-ból viszi. Preferált forma:
scp file.txt wphu:~/ssh-agent Windows alatt
Szekció neve “ssh-agent Windows alatt”Az ssh-agent a memóriában tartja a privát kulcs passphrase-ét, így a session során nem kell mindig beírnod.
Szolgáltatás engedélyezése
Szekció neve “Szolgáltatás engedélyezése”# Rendszergazda PowerShellSet-Service ssh-agent -StartupType AutomaticStart-Service ssh-agentKulcs hozzáadása
Szekció neve “Kulcs hozzáadása”ssh-add $env:USERPROFILE\.ssh\id_ed25519Itt adja meg passphrase-t, aztán amíg a ssh-agent szolgáltatás fut, nem kérdezi újra.
Tárolt kulcsok listája
Szekció neve “Tárolt kulcsok listája”ssh-add -lKulcs törlése
Szekció neve “Kulcs törlése”ssh-add -d $env:USERPROFILE\.ssh\id_ed25519# vagy mindet:ssh-add -DWindows Terminal
Szekció neve “Windows Terminal”Ha jobb terminál élményt szeretnél, telepítsd a Windows Terminal-t a Microsoft Store-ból. Támogatja:
- Tab-ok és split pane
- Témák (Dracula, Solarized stb.)
- Copy/paste helyes kezelése
- Unicode és emoji rendering
- Konfigurálható billentyűkombinációk
A PowerShell, CMD, WSL és Git Bash mind ugyanabban a Terminal ablakban futtathatók, saját tab-okban.
WSL alternatíva
Szekció neve “WSL alternatíva”Ha gyakran dolgozol Linux környezetben, érdemes megfontolni a WSL2 (Windows Subsystem for Linux) használatát. Ez egy valódi Linux kernel Windows alatt, az Ubuntu környezettel és parancssorral.
Előnyei SSH szempontból:
- Ugyanaz az OpenSSH, mint natív Linux-on
ssh-copy-idparancs (Windows natív OpenSSH-ból hiányzik)- Linux-specifikus eszközök (rsync, fswatch, stb.)
- Bash script-ek változtatás nélkül
Telepítés:
# Rendszergazda PowerShellwsl --installEzután az Ubuntu/WSL terminálban úgy dolgozol, mint bármelyik Linux gépen. A ~/.ssh/ mappa a WSL-en BELÜLI saját, nem a Windows-é – a kulcsokat külön kell generálnod vagy átmásolnod.
PuTTY – ha kell
Szekció neve “PuTTY – ha kell”A PuTTY Windows-specifikus SSH kliens, amit régen szinte mindenki használt. Ma már a beépített OpenSSH jobb, de ha valamiért PuTTY-t kell használnod:
Csatlakozás
Szekció neve “Csatlakozás”- Nyisd meg a PuTTY-t
- Host Name:
[email protected] - Port:
10009 - Connection → SSH → Auth → Credentials: Private key file – válaszd ki a
.ppkkulcsot (PuTTY saját formátuma, lásd SSH kulcs generálás) - Mentéshez Session panelen Save gomb
- Open a kapcsolódáshoz
OpenSSH kulcs konvertálás .ppk-ra
Szekció neve “OpenSSH kulcs konvertálás .ppk-ra”Ha már van OpenSSH-formátumú kulcsod (id_ed25519), a PuTTYgen-be betölthető és .ppk formátumban elmenthető:
- PuTTYgen → Conversions → Import key
- Válaszd ki az
id_ed25519-et - Írd be a passphrase-t
- Save private key
.ppkformátumban
Pageant – PuTTY ssh-agent megfelelője
Szekció neve “Pageant – PuTTY ssh-agent megfelelője”A Pageant a PuTTY ssh-agent-je. A Windows tálcáról futtatod, és betölti a passphrase-t. Dupla kattintás a tálca ikonra → Add Key → .ppk fájl.
WinSCP – grafikus fájlkezelő
Szekció neve “WinSCP – grafikus fájlkezelő”Ha grafikus felületet szeretnél az scp / sftp helyett:
- WinSCP letöltés és telepítés
- Új session: Host name, Port, User name, Advanced → SSH → Authentication → Private key file (
.ppk) - Kétoldalas fájlkezelő ablak, drag & drop támogatással
Gyakori hibák Windows-on
Szekció neve “Gyakori hibák Windows-on”“Bad owner or permissions on …ssh/config”
Szekció neve ““Bad owner or permissions on …ssh/config””A Windows default jogosultságok túl nyitottak. PowerShell-ben:
icacls $env:USERPROFILE\.ssh /inheritance:ricacls $env:USERPROFILE\.ssh /grant:r "$($env:USERNAME):(OI)(CI)F"Ez eltávolítja az öröklött jogokat és csak a saját fiókodnak ad teljes hozzáférést.
Path separator keverés
Szekció neve “Path separator keverés”PowerShell-ben a \ és / is működik az OpenSSH kliensnek, de scp-nél a remote path mindig Unix-formátumú:
# ROSSZscp C:\file.txt user@host:\home\user\# JÓscp C:\file.txt user@host:/home/user/CRLF vs LF line endings
Szekció neve “CRLF vs LF line endings”Ha Windows-on szerkesztesz bash scripteket és átmásolod szerverre, CRLF line endinggel érkezhetnek, ami bad interpreter: No such file or directory hibát okoz. Megoldás:
- Szerkesztéshez VS Code-ban állítsd az End of Line beállítást
LF-re - A
.gitattributesfájlba:*.sh text eol=lf - Ha már elrontottad, a szerveren:
dos2unix script.sh
“Could not connect to authentication agent” ssh-add parancsnál
Szekció neve ““Could not connect to authentication agent” ssh-add parancsnál”Az ssh-agent szolgáltatás nem fut. Futtasd rendszergazda PowerShell-ből:
Start-Service ssh-agentSet-Service ssh-agent -StartupType AutomaticLocalhost IP vs hostname SSH config-ban
Szekció neve “Localhost IP vs hostname SSH config-ban”Ha a HelloHost az SSH hostot 2a01-4f9-5a-4651--108.ssh.hellohost.io formában adja (IPv6-ból származtatva), és a gépeden nincs IPv6 kapcsolat, a DNS feloldás IPv4-es proxyra fog mutatni, ami automatikus. Nincs extra teendő.
Hasznos parancsok gyűjteménye
Szekció neve “Hasznos parancsok gyűjteménye”# Kapcsolódás verbose módon (hibakereséshez)ssh -v wphu
# Távoli parancs futtatása bejelentkezés nélkülssh wphu "ls -la /home/user/webapps"
# Port forwarding (pl. lokális MySQL → szerver MySQL)ssh -L 3307:localhost:3306 wphu
# Távoli fájl gyors nézésessh wphu "tail -f /home/user/logs/nginx/app_error.log"
# Kulcs fingerprint kijelzésessh-keygen -lf $env:USERPROFILE\.ssh\id_ed25519.pubÖsszefoglaló
Szekció neve “Összefoglaló”Windows alatt a modern workflow:
- ✅ Natív OpenSSH – nincs szükség PuTTY-ra új projekteknél
- ✅ Windows Terminal – jobb UX mint a klasszikus PowerShell ablak
- ✅
~/.ssh/config– mindent aliasolj be, ne legyen hosszú parancssor - ✅ ssh-agent szolgáltatás – egyszer add meg a passphrase-t, szolgáltatás marad
- ✅ WSL2 – Linux-kompatibilitás ha kell