Ha távoli számítástechnikáról van szó, SSH az egyik legnépszerűbb és legbiztonságosabb protokoll. Az SSH egy kriptográfiai hálózati protokoll, amely biztonságos kapcsolatot létesít a távoli eszközökkel. A távoli eszközhöz való csatlakozás után a felhasználó parancsokat futtathat a távoli shellen. Az SSH a legelterjedtebb a hálózati és rendszeradminisztrátorok körében.
Ez a puskaszerű útmutató bemutatja az SSH áttekintését, az SSH-val való csatlakozás néhány gyakori módját és a különböző SSH-konfigurációkat.
SSH áttekintés
Az SSH a Secure Shell rövidítése. Egyesek az SSH-ra Secure Socket Shellként is hivatkoznak. Az SSH a távoli szerverek elérésének leggyakoribb módja. Ha SSH-n keresztül csatlakozik egy távoli rendszerhez, egy meglévő fiókhoz csatlakozik. A csatlakozás után hozzáférést kap egy shell munkamenethez. Minden futtatott parancs a távoli gépen hajtódik végre, és a kimenet a helyi terminálon jelenik meg.
Az SSH-kapcsolat kliens-szerver modellt követ. A távoli rendszeren futnia kell az SSH démonnak a távoli SSH-kapcsolatok fogadásához. Az SSH démon meghatározott portokat figyel, hitelesíti a kapcsolódási kérelmeket, és létrehozza a megfelelő környezetet, ha a feltételek teljesülnek.
Ehhez az útmutatóhoz két Ubuntu szervert konfiguráltunk. Az elsődleges szerver úgy lesz konfigurálva, hogy a másodlagos szerverhez csatlakozzon. A másodlagos szerver úgy lesz konfigurálva, hogy fogadja az elsődleges szerverről érkező SSH-kapcsolatokat. Ezeket a szerver IP-címeket fogjuk használni az útmutató során:
-
Elsődleges: 31.171.250.121
-
Másodlagos: 31.171.250.130
Kezdésként megtekintheti részletes útmutatóinkat arról, hogy hogyan használható az SSH a távoli szerverhez való csatlakozáshoz Ubuntuban és hogyan konfigurálhatja Linux szerverét az SSH kulcsalapú hitelesítés használatára. Most pedig kezdjük el!
SSH hitelesítés
Az SSH-hitelesítésnek két fő típusa van. A hagyományos módszer a jelszó használata. Ez kevésbé biztonságos, és kifejezetten nem ajánlott. A második módszer az SSH-kulcsok használata. Az SSH-kulcsok nagyon erős biztonságot nyújtanak, és kifejezetten ajánlottak.
Bár a jelszavas hitelesítés egyszerűbben megérthető és konfigurálható, könnyen kihasználható. Például az automatizált botok brute force módszerrel törhetnek be a rendszerbe. Az SSH-kulcsok kriptográfiai kulcsok. Minden kulcs két részből áll – egy privát kulcsból és egy nyilvános kulcsból. A nyilvános kulcs bárhol megosztható aggodalom nélkül. A privát kulcsot azonban biztonságban kell tartani.
Ahhoz, hogy az SSH-kulcsokat használhassa hitelesítési módszerként, a távoli rendszerre telepíteni kell a nyilvános kulcs egy másolatát. A privát és nyilvános kulcsok másolatát a helyi rendszerre is telepíteni kell. Alapértelmezés szerint a nyilvános kulcsok a következő fájlban vannak felsorolva. Minden egyedi felhasználó rendelkezik a fájl egy egyedi másolatával:
|
1 |
~/.ssh/authorized_keys |
A hitelesítési folyamat a következőképpen működik:
-
A kliensrendszer kapcsolódási kérelmet küld a távoli rendszernek. Azt is elküldi, hogy melyik SSH-kulcsot használja.
-
A távoli rendszer ellenőrzi, hogy a nyilvános kulcs szerepel-e az authorized_keys fájlban.
-
Ha a kulcs létezik, egy véletlenszerű karakterlánc generálódik, és a nyilvános kulccsal titkosításra kerül. A titkosított üzenet csak a privát kulccsal fejthető vissza.
-
A karakterlánc fogadásakor a kliens visszafejti a karakterláncot.
-
A karakterláncot és a korábban egyeztetett munkamenet-azonosítót kombinálva egy MD5 hash generálódik. A kliens elküldi az MD5 hasht a távoli rendszernek.
-
A távoli rendszer ismeri a véletlenszerű karakterláncot és a munkamenet-azonosítót. Ha az MD5 hash megegyezik, a kapcsolat engedélyezett.
SSH-kulcsok
Ebben az útmutatóban az SSH-kulcs lesz a hitelesítés elsődleges fókuszában. Ezért ez a szakasz az SSH-kulcsokkal való munkára fog összpontosítani.
-
SSH-kulcspár generálása
Alapértelmezés szerint egy Linux rendszeren nincs telepítve SSH-kulcs. A rendszer azonban tartalmazhat korábban generált/telepített SSH-kulcsokat. Feltételezve, hogy nincs korábbi SSH-kulcs, új SSH nyilvános és privát kulcspárt kell generálnunk. Az SSH számos kriptográfiai algoritmust támogat az SSH-kulcsok generálásához, például az RSA, DSA, ECDSA és EdDSA algoritmusokat. Az RSA az alapértelmezett és előnyben részesített algoritmus.
-
Normál RSA kulcspár generálása
SSH-kulcspár generálásához futtassa a következő parancsot:
|
1 |
ssh-keygen |
A parancssor megkérdezi majd, hogy hova mentse a kulcspárt. Mint említettük, ez egy RSA kulcspár lesz. Ha nem ad meg értéket, az SSH az alapértelmezett helyre menti azt /home/demo/.ssh/id_rsa.
A következő lépés a jelmondat megadása. Javasolt jelmondatot használni. A jelmondat hossza tetszőleges. Ez egy plusz biztonsági réteget jelent. Az SSH azonban lehetővé teszi a kulcsok generálását jelmondat nélkül is. Csak nyomja meg az Entert, ha jelmondat nélküli kulcsokat szeretne.
A végső kimenet a következő kulcsinformációkat tartalmazza:
-
A privát kulcs helye ( /root/.ssh/id_rsa). Ezt soha nem szabad megosztani.
-
A nyilvános kulcs helye ( /root/.ssh/id_rsa.pub). Ezt biztonságosan megoszthatja bárkivel.
-
A kulcs ujjlenyomata.
-
A kulcs véletlenszerű képe. Az elképzelés az, hogy ha a kulcsok kompromittálódnak, azt valószínűleg észre lehet venni a kulcskép változásából.
-
RSA kulcspár generálása eltérő bitszámmal
Alapértelmezés szerint az SSH-kulcsok 2048 bitesek. Biztonsági szempontból ez elegendőnek tekinthető. Manuálisan azonban megadhatunk eltérő bitszámot is. Minél nagyobb a bitérték, annál erősebb a kulcs.
Futtassa a következő parancsot egy 4096 bites SSH-kulcspár generálásához. A legtöbb szerver támogatja a 4096 bites SSH-kulcsokat. Ha a kulcs túl nagy, előfordulhat, hogy DDoS-védelem miatt nem fogadják el:
|
1 |
ssh-keygen -b 4096 |
Mivel már generáltunk egy kulcspárt, az SSH megkérdezi, hogy felülírja-e az előzőt. A folyamat többi része megegyezik a normál kulcspár generálásával.
-
A privát kulcs jelmondatának megváltoztatása
Megváltoztathatjuk a privát kulcs jelmondatát. A folyamathoz ismernie kell a jelenlegi jelmondatot. A jelmondat megváltoztatásához futtassa a következő parancsot:
|
1 |
ssh-keygen -p |

A parancs kérni fogja a privát kulcs helyének megadását. Nyomja meg az Entert, ha a kulcs az alapértelmezett helyen van tárolva. Adja meg a jelenlegi jelmondatot. Ha a rendszer elfogadja, megadhat egy újat.
-
Egy SSH-kulcs ujjlenyomatának megjelenítése
Minden SSH-kulcspár rendelkezik egy kriptográfiai ujjlenyomattal. Ez az ujjlenyomat használható az egyedi kulcsok azonosítására. Számos helyzetben hasznos lehet. Futtassa a következő parancsot egy SSH-kulcs ujjlenyomatának ellenőrzéséhez:
|
1 |
ssh-keygen -l |

Adja meg a kulcs helyét. Nyomja meg az Entert, ha a kulcs az alapértelmezett helyen van tárolva.
A nyilvános kulcs másolása
Az SSH-kulcspár készen áll a távoli kapcsolatok biztosítására. Ahhoz, hogy a távoli rendszer elfogadja az SSH-kulcsot a hitelesítéshez, rendelkeznie kell a nyilvános kulcs egy másolatával. Többféleképpen is átmásolhatja a nyilvános kulcsot a távoli szerverre.
-
Az ssh-copy-id használata
Az ssh-copy-id az OpenSSH csomag részeként érkezik. Ez az SSH nyilvános kulcs másolásának alapértelmezett módja. Egyszerű és könnyen használható. Futtassa a következő parancsot a nyilvános kulcs másolatának átviteléhez:
|
1 |
ssh-copy-id <username>@<secondary_server_ip> |

A folyamat befejezéséhez szüksége lesz a távoli felhasználói fiók jelszavára. Sikeres művelet esetén egy sikeres visszajelzést kap.
-
SSH-kapcsolat használata
Ha az ssh-copy-id segédprogram nem érhető el, de az elsődleges szerver képes csatlakozni a másodlagos szerverhez SSH-n keresztül, akkor egy másik trükköt is használhatunk a kulcs másolására. Ez a nyilvános kulcs tartalmának átirányítása az SSH parancson keresztül a távoli oldalra. Vegye figyelembe, hogy ha a ~/.ssh könyvtár nem létezik a távoli rendszeren, előfordulhat, hogy ez nem működik:
|
1 |
cat ~/.ssh/id_rsa.pub | ssh <username>@<secondary_server_ip> "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" |
-
Kézi másolás
Ha a távoli kapcsolat nem jöhet szóba, az egyetlen fennmaradó lehetőség a nyilvános kulcs manuális hozzáadása a távoli szerverhez. Először másolja ki a nyilvános kulcs tartalmát:
|
1 |
cat ~/.ssh/id_rsa.pub |
A távoli szerveren helyezze a kulcsot a megfelelő helyre:
|
1 2 3 |
mkdir -pv ~/.ssh echo <public_key> >> ~/.ssh/authorized_kulcsok |
Az SSH használata
Most, hogy a nyilvános kulcs be van állítva, készen állunk az SSH használatára a távoli csatlakozáshoz.
-
Csatlakozás távoli rendszerhez
Az első lépés annak elsajátítása, hogyan csatlakozhatunk a távoli rendszerhez SSH használatával. Ez feltételezi, hogy mind a helyi, mind a távoli rendszer engedélyezi az SSH-forgalmat. A távoli rendszerhez való csatlakozáshoz írja be a következőt:
|
1 |
ssh <secondary_server_ip> |

Ha a távoli szerver egy adott felhasználójához szeretne csatlakozni, használja inkább a következő struktúrát:
|
1 |
ssh <username>@<secondary_server_ip> |

Ha most csatlakozik először a szerverhez, az SSH figyelmeztetést jeleníthet meg. A csatlakozás folytatásához írja be, hogy yes. Ha a távoli fiók jelszóval védett, meg kell adnia a jelszót. Ha az SSH-kulcs jelmondattal védett, a jelmondatot is meg kell adnia.
-
Csatlakozás másik porthoz
Alapértelmezés szerint az SSH a 22-es porton fut. Az SSH-kliens az alapértelmezett portértéket feltételezi a távoli rendszerhez való csatlakozáskor. Ha azonban a távoli rendszer egy másik porton figyel az SSH-forgalomra, ez nem fog működni. Ilyen helyzetben manuálisan kell megadnunk a port számát. A konkrét port megadásához használja a -p jelzőt:
|
1 |
ssh -p <port> <username>@<secondary_server_ip> |
A port folyamatos manuális megadása nem hatékony. Az alapértelmezett portértéket véglegesen is megváltoztathatjuk. Ehhez nyissa meg az SSH konfigurációs fájlját. Ha a fájl nem létezik, a következő parancs létrehozza azt:
|
1 |
nano ~/.ssh/config |
Ezután adja hozzá a következő sorokat:
|
1 2 3 4 5 |
Host <remote_alias> HostName <remote_hostname> Port <port_value> |
-
Parancsok futtatása a távoli szerveren
Most, hogy a kapcsolat létrejött, a helyi terminálon futtatott összes parancs a távoli szerverre kerül. Minden generált kimenet a helyi terminálra érkezik vissza.
Ha csak egyetlen parancsot kell futtatni, akkor azt teljes SSH-bejelentkezés nélkül is megtehetjük. Egyszerűen megadhatjuk a parancsot az SSH-kapcsolódási utasítás után:
|
1 |
ssh <username>@<secondary_server_ip> <command_to_run> |
-
Kulcs hozzáadása egy SSH-ágenshez
Ha az SSH-kulcs rendelkezik jelmondattal, akkor minden alkalommal, amikor a távoli rendszerhez csatlakozik, meg kell adnia a jelmondatot. Ennek ismételgetése nem hatékony. Rábízhatjuk ezt egy SSH-ágensre. Ez egy kis segédprogram, amely a jelmondat megadása után tárolja a privát kulcsot. A privát kulcs elérhető lesz a terminál munkamenet során. Az SSH-ágens elindításához futtassa a következő parancsot:
|
1 |
eval $(ssh-agent) |

A program a háttérben fut. Mindössze annyit kell tennie, hogy hozzáadja a privát kulcsát az ágenshez. Futtassa a következő parancsot:
|
1 |
ssh-add |

A művelet befejezéséhez adja meg a jelmondatot.
-
SSH hitelesítési adatok továbbítása
Azt is beállíthatjuk, hogy az SSH jelszó nélkül csatlakozzon egyik szerverről a másikra. Ez meglehetősen hatékony lehet, különösen akkor, ha számos távoli szerverrel dolgozunk. Ennek eléréséhez továbbítanunk kell az SSH hitelesítési adatokat. Az SSH hitelesítési adatok továbbításához a távoli szervert úgy kell konfigurálni, hogy elfogadja a kapcsolatot a helyi gépről/szerverről. Ezután már csak az első szerverhez kell csatlakoznia az -A jelzővel. Ez továbbítja a hitelesítési adatait a szervereknek az aktuális munkamenetre:
|
1 |
ssh -A <username>@<secondary_server_ip> |
Távoli szerver konfigurációk
Ez a szakasz néhány gyakori szerveroldali konfigurációt tartalmaz, amelyek segítenek javítani a szerver válaszidejét és a kapcsolat biztonságát.
-
Jelszavas hitelesítés letiltása
Ha az SSH-kulcsok be vannak állítva, és az SSH-kapcsolat a várt módon működik, akkor biztonságosan letiltható a jelszavas hitelesítés. A következő konfiguráció megakadályozza, hogy a rendszer jelszót kérjen, amikor bármely felhasználó SSH-n keresztül csatlakozik. A távoli szerveren nyissa meg a sshd_config fájlt root/sudo jogosultsággal:
|
1 |
sudo nano /etc/ssh/sshd_config |
Ezután keresse meg a következő bejegyzést: PasswordAuthentication. Ha a sor kommentelve van, vegye ki a kommentet. Módosítsa az értéket no-ra:
|
1 |
PasswordAuthentication no |

Mentse a fájlt, és zárja be a szerkesztőt. A változtatások életbe léptetéséhez indítsa újra az SSH-szolgáltatást:
|
1 |
sudo service ssh restart |
Ha a rendszer CentOS/Fedora, akkor használja inkább a következő parancsot:
|
1 |
sudo service sshd restart |
-
Az SSH-port megváltoztatása
Mint korábban említettük, az SSH a 22-es portot használja az SSH-forgalom lebonyolítására. Egyes rendszergazdák szerint azonban jobb egy másik portot hozzárendelni az SSH-hoz. Ez segíthet a portot elárasztó automatizált botok ellen. Az SSH által figyelt port megváltoztatásához nyissa meg a sshd_config fájlt:
|
1 |
sudo nano /etc/ssh/sshd_config |
Keresse meg a Port bejegyzést. Ha kommentelve van, vegye ki a kommentet. Ezután módosítsa az értéket egy másik értékre. A port értéke egy előjel nélküli 16 bites egész szám (0-65535):
|
1 |
Port 1024 |

Mentse a fájlt, és zárja be a szerkesztőt. A változtatás végrehajtásához indítsa újra az SSH-démont:
|
1 |
sudo service ssh restart |
CentOS/Fedora rendszeren futtassa inkább a következő parancsot:
|
1 |
sudo service sshd restart |
-
Felhasználói korlátozás
Beállíthatjuk, hogy mely felhasználói fiókok csatlakozhatnak SSH-n keresztül. Ez magában foglalja a sshd_config fájl módosítását is. Nyissa meg a fájlt sudo/root jogosultsággal:
|
1 |
sudo nano /etc/ssh/sshd_config |
Keresse meg az AllowUsers bejegyzést. Adja hozzá az engedélyezett felhasználókat:
|
1 |
AllowUsers <user_1> <user_2> |

Mentse a fájlt, és zárja be a szerkesztőt. Indítsa újra az SSH-démont a változtatások életbe léptetéséhez:
|
1 |
sudo service ssh restart |
CentOS/Fedora rendszeren futtassa inkább a következő parancsot:
|
1 |
sudo service sshd restart |
-
Csoportkorlátozás
A felhasználói korlátozáshoz hasonlóan azt is meghatározhatjuk, hogy melyik felhasználói csoport csatlakozhat a rendszerhez SSH-n keresztül. Nyissa meg a sshd_config fájlt:
|
1 |
sudo nano /etc/ssh/sshd_config |
Használja az AllowGroups bejegyzést egy olyan specifikus felhasználói csoport hozzáadásához, amely használhatja az SSH-t:
|
1 |
AllowGroups <user_group> |

Mentse a fájlt, és zárja be a szerkesztőt. Indítsa újra az SSH-démont a változtatások életbe léptetéséhez:
|
1 |
sudo service ssh restart |
CentOS/Fedora esetén futtassa inkább a következő parancsot:
|
1 |
sudo service sshd restart |
Vegye figyelembe, hogy ha bármilyen felhasználót hozzáadnak a felhasználói csoporthoz vagy eltávolítanak onnan, az SSH-démont újra kell indítani. Ellenkező esetben a csoportváltozások nem lépnek életbe.
-
A root bejelentkezés letiltása
Ha hozzáféréssel rendelkezik egy sudo jogosultságokkal rendelkező felhasználóhoz, akkor ajánlott letiltani a root bejelentkezést SSH-n keresztül. Nyissa meg a sshd_config fájlt:
|
1 |
sudo nano /etc/ssh/sshd_config |
Módosítsa a következő bejegyzés értékét: PermitRootLogin no-ra:
|
1 |
PermitRootLogin no |

Mentse a fájlt, és zárja be a szerkesztőt. Indítsa újra az SSH-démont a változtatás életbe léptetéséhez:
|
1 |
sudo service ssh restart |
CentOS/Fedora rendszeren futtassa inkább a következő parancsot:
|
1 |
sudo service sshd restart |
-
X alkalmazás-megjelenítések továbbítása
An SSH-démon képes továbbítani az X alkalmazások megjelenítését is a szerverről a kliensre. Ahhoz azonban, hogy ez működjön, a távoli rendszeren konfigurálva kell lennie egy X ablakkezelő rendszernek. A funkciót az SSH-konfigurációban is engedélyezni kell. Nyissa meg az SSH-konfigurációs fájlt:
|
1 |
sudo nano /etc/ssh/sshd_config |
Módosítsa a következő direktíva értékét: X11Forwarding yes-re:
|
1 |
X11Forwarding yes |

Mentse el a fájlt, és zárja be a szerkesztőt. Indítsa újra az SSH démont a változtatások érvénybe léptetéséhez:
|
1 |
sudo service ssh restart |
CentOS/Fedora rendszeren futtassa inkább a következő parancsot:
|
1 |
sudo service sshd restart |
Kliens konfigurációk
Ebben a szakaszban bemutatunk néhány gyakori konfigurációt az SSH kliensen.
-
Szerverspecifikus kapcsolati információk
A helyi rendszeren meghatározhatjuk egy távoli kapcsolat részleteit. Minden információ a következő helyen található konfigurációs fájlban tárolódik: ~/.ssh/config:
|
1 |
nano ~/.ssh/config |
Minden távoli rendszerblokkot a Host kulcsszó jelöl, amelyet egy álnév követ. Minden rendszerspecifikus direktíva ide kerül. A távoli rendszerhez való csatlakozáskor az SSH automatikusan alkalmazza azokat. A konfiguráció részletes magyarázatáért tekintse meg a kézikönyv (man) oldalt:
|
1 |
man ssh_config |

A távoli kapcsolat bejegyzése a következő struktúrát követi:
|
1 2 3 |
Host <remote_hostname> <directive> <value> |
-
Kapcsolati időtúllépés
Előfordulhat, hogy az SSH-munkamenetek megszakadnak, mielőtt bármilyen műveletet elvégezne. Ha a kliens nem küld csomagot a távoli szervernek, akkor egy idő után a kapcsolat időtúllépés miatt megszakad. Az ilyen helyzetek elkerülése érdekében beállíthatjuk a helyi klienst, hogy időközönként küldjön egy csomagot a kapcsolat életben tartásához.
Nyissa meg a helyi konfigurációs fájlt:
|
1 |
nano ~/.ssh/config |
A távoli kapcsolat bejegyzése alá adja hozzá a következő direktívát: ServerAliveInterval, amelyet a másodpercben megadott csomagküldési időköz követ:
|
1 |
ServerAliveInterval 120 |

Mentse el a fájlt, és zárja be a szerkesztőt.
-
A gazdagép-ellenőrzés letiltása
Alapértelmezés szerint, amikor új szerverhez próbál csatlakozni, az SSH-kliens jelzi a távoli SSH-démon ujjlenyomatát. Ez egy hasznos funkció a gazdagép hitelességének ellenőrzésére. Ha egy rosszindulatú szereplő megpróbálja meghamisítani a távoli gazdagépet, az új szerverként fog megjelenni.
A funkció letiltása komoly biztonsági kockázatot jelenthet. Általában ajánlott ezt az opciót bekapcsolva tartani. Bizonyos helyzetekben azonban a gazdagép-ellenőrzés letiltása kényelmes lehet. Nyissa meg a konfigurációs fájlt:
|
1 |
nano ~/.ssh/config |
A távoli gazdagép szakasz alá adja hozzá a következő direktívákat:

|
1 2 3 |
StrictHostKeyChecking no UserKnownHostsFile /dev/null |
Az első direktíva letiltja az új gazdagépek automatikus hozzáadását az ismert gazdagépek listájához, amely a known_hosts fájlban tárolódik. A második direktíva megakadályozza a változásokra való figyelmeztetést. Mentse el a fájlt, és zárja be a szerkesztőt.
-
SSH multiplexelés egyetlen TCP-kapcsolaton keresztül
Néha a TCP-kapcsolat létrehozása meglehetősen sok időt vehet igénybe. Ha több kapcsolatot kell létesíteni ugyanahhoz a géphez, akkor a multiplexelés egy nagyszerű funkció, amelyet kihasználhat. Az SSH-multiplexelés lehetővé teszi ugyanazon TCP-kapcsolat használatát több SSH-munkamenethez. Csökkenti az új munkamenetek létrehozásához szükséges terhelést. A kapcsolatok számának korlátozása is segíthet.
Manuálisan is beállíthatunk egy multiplexelt kapcsolatot, vagy engedélyezhetjük az SSH számára, hogy használja azt, amikor csak elérhető. Itt az SSH-t úgy fogjuk konfigurálni, hogy a második utat kövesse. Nyissa meg az SSH konfigurációs fájlt:
|
1 |
nano ~/.ssh/config |
Adjon hozzá egy helyettesítő karakteres (wildcard) gazdagép-definíciót a fájl tetejére. Ez biztosítja, hogy a következő direktívakészlet minden távoli kapcsolatra érvényesüljön. Adja hozzá a következő direktívákat:
|
1 2 3 4 5 |
ControlMaster auto ControlPath ~/.ssh/multiplex/%r@%h:%p ControlPersist 1 |

Az első direktíva arra utasítja az SSH-t, hogy automatikusan használja a multiplexelést, amikor csak elérhető. A második direktíva meghatározza a vezérlő socket elérési útját. Ez a socket az első munkamenet létrehozásakor jön létre. A későbbi munkamenetek ezt a socketet fogják követni.
Az utolsó direktíva arra utasítja az SSH-t, hogy a kezdeti mesterkapcsolatot a háttérben futtassa. Azt is jelzi, hogy a TCP-kapcsolatok automatikusan leállnak egy másodperccel az utolsó SSH-munkamenet után. Ezután hozza létre a konfigurációs fájlban megadott könyvtárat:
|
1 |
mkdir -pv ~/.ssh/multiplex |
Végül a multiplexelésnek aktívnak kell lennie.
SSH escape kódok
A kapcsolat létrehozása után escape kódok segítségével szabályozható a kapcsolat viselkedése.
-
Kapcsolat bontásának kikényszerítése
Megakadt egy SSH-munkamenetben? Az SSH-munkameneteket általában a szerver kezeli. Ha a szerverrel problémák adódnak, egy lefagyott SSH-munkamenetben való ragadás frusztráló lehet. Szerencsére az OpenSSH hasznos vezérlőket kínál a kapcsolat állapotának kliensoldali kezelésére.
Nyomja meg az Entert párszor. Ezután írja be a következő parancsot:
|
1 |
~. |
![]()
Itt a ~ a vezérlőkarakter. Miután futtatta ezt a parancsot a kliensről, a kapcsolatnak azonnal be kell záródnia.
-
SSH háttér-munkamenet
Egy SSH-munkamenetet a háttérbe is helyezhetünk. Ha a háttérbe helyezi, visszatér a normál shell munkamenethez. Miután befejezte a munkát, ismét visszatérhet az SSH shellbe. Vegye figyelembe, hogy megfelelő időtúllépési konfigurációval kell rendelkeznie, hogy elkerülje az időtúllépést, miközben az SSH-munkamenet a háttérben marad. Az SSH-munkamenet háttérbe helyezéséhez írja be a vezérlőkaraktert, majd a következőt: Ctrl + Z:
|
1 |
~<Ctrl + Z> |

Ha ez volt a legutóbbi háttérfeladata, akkor a következő paranccsal aktiválhatja újra:
|
1 |
fg |
Ha több háttérfeladat is van, akkor a feladatlistából állapíthatjuk meg:
|
1 |
jobs |

A célfeladat előtérbe hozásához jegyezze fel a feladat értékét az első oszlopból. Ezután futtassa a következő parancsot:
|
1 |
fg %<job_value> |
-
Porttovábbítási konfiguráció módosítása
A vezérlési mechanizmus segítségével menet közben is módosíthatjuk a porttovábbítási szabályokat. A kapcsolat létrejötte után létrehozhatunk vagy megszüntethetünk porttovábbítási szabályokat. Ez az SSH parancssori felületének része.
Az SSH parancssori felületének eléréséhez futtassa a következő parancsot:
|
1 |
~C |
![]()
Az elérhető opciók listázásához írja be a következő parancsot:
|
1 |
-h |
Ha a kimenet túl minimális, próbálja meg növelni a részletességi szintet a következő vezérlőparancs használatával:
|
1 |
~v |
Most futtassa újra a -h parancsot:
|
1 |
-h |

Ahogy a kimenet magyarázza, meglehetősen egyszerű bármelyik porttovábbítást megvalósítani egy egyszerű paranccsal. Például egy alagút a kill paranccsal is megszüntethető, amelyet a K jelöl a parancslistában.
Záró gondolatok
Az SSH-val meglehetősen gyakran találkozhatunk. Ezért az SSH elsajátítása nagyon hasznos. Átfogó SSH-áttekintésünk lefedi a legfontosabb SSH-konfigurációkat, amelyeket a felhasználóknak ismerniük kell az SSH napi szintű használatához. Ha egyszer elsajátította, szinte az összes SSH-szerver konfigurációval képes lesz dolgozni.
Kellemes számítógépes munkát!
Hozzászólások
Még nincsenek hozzászólások. Legyen Ön az első.