Android

Ssh parancs

Chat in the terminal with WRITE - Linux

Chat in the terminal with WRITE - Linux

Tartalomjegyzék:

Anonim

A Secure Shell (SSH) egy kriptográfiai hálózati protokoll, amelyet titkosított kapcsolathoz használunk az ügyfél és a szerver között. Az ssh-kliens biztonságos kapcsolatot hoz létre az SSH-kiszolgálóval egy távoli számítógépen. A titkosított kapcsolat felhasználható parancsok végrehajtására a szerveren, az X11 alagútban, a port továbbításában és egyebekben.

Számos SSH-ügyfél elérhető ingyenes és kereskedelmi formában is, az OpenSSH a legszélesebb körben alkalmazott ügyfél. Minden nagyobb platformon elérhető, beleértve a Linuxot, az OpenBSD-t, a Windows-ot, a MacOS-t és másokat is.

, elmagyarázzuk, hogyan lehet az OpenSSH parancssori klienst ( ssh ) használni a távoli gépre történő bejelentkezéshez, a parancsok futtatásához vagy egyéb műveletek végrehajtásához.

OpenSSH kliens telepítése

Az OpenSSH kliensprogram neve ssh és a terminálról meghívható. Az OpenSSH klienscsomag más SSH segédprogramokat is kínál, például az scp és az sftp , amelyeket az ssh parancs mellett telepítenek.

OpenSSH kliens telepítése Linuxra

Az OpenSSH klienst a legtöbb Linux disztribúció alapértelmezés szerint előre telepíti. Ha a rendszerében nincs telepítve az ssh-ügyfél, akkor telepítheti a terjesztés csomagkezelőjével.

OpenSSH telepítése Ubuntu és Debian rendszereken

sudo apt update sudo apt install openssh-client

OpenSSH telepítése a CentOS-ra és a Fedora-ra

sudo dnf install openssh-clients

OpenSSH kliens telepítése Windows 10 rendszerre

A legtöbb Windows-felhasználó Putty-t használ az SSH-n keresztüli távoli számítógéphez történő csatlakozáshoz. A Windows 10 legújabb verziója azonban tartalmaz egy OpenSSH klienst és szervert. Mindkét csomag telepíthető a GUI vagy a PowerShell segítségével.

Az OpenSSH csomag pontos nevének megtalálásához írja be a következő parancsot:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

A parancsnak valami ilyesmit kell visszaadnia:

Name: OpenSSH.Client~~~~0.0.1.0 State: NotPresent Name: OpenSSH.Server~~~~0.0.1.0 State: NotPresent

Miután megismerte a csomag nevét, telepítse azt a következő futtatásával:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

Siker esetén a kimenet így néz ki:

Path: Online: True RestartNeeded: False

OpenSSH kliens telepítése macOS-ra

A macOS alapértelmezés szerint telepítve van az OpenSSH klienssel.

Az ssh parancs használata

Az SSH-n keresztüli bejelentkezéshez a következő követelményeknek kell teljesülniük:

  • Az SSH-kiszolgálónak futnia kell a távoli gépen. Az SSH-portnak nyitottnak kell lennie a távoli számítógép tűzfalán.Nem kell ismernie a távoli fiók felhasználónevét és jelszavát. A fióknak megfelelő jogosultságokkal kell rendelkeznie a távoli bejelentkezéshez.

Az ssh parancs alapvető szintaxisa a következő:

ssh:HOST

Az ssh parancs használatához nyissa meg a terminált vagy a PowerShell-t, és írja be az ssh majd a távoli gazdagépnevet:

ssh ssh.linuxize.com

Amikor először csatlakozik egy távoli számítógéphez az SSH-n keresztül, az alábbi üzenet jelenik meg.

The authenticity of host 'ssh.linuxize.com (192.168.121.111)' can't be established. ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY. Are you sure you want to continue connecting (yes/no)?

Minden gazdagépnek egyedi ujjlenyomata van, amelyet a ~/.ssh/known_hosts fájlban tárolnak.

Írja be az yes a távoli ujjlenyomat tárolásához, és a rendszer felszólítja a jelszó megadására.

Warning: Permanently added 'ssh.linuxize.com' (ECDSA) to the list of known hosts. [email protected]'s password:

Miután megadta a jelszót, be lesz jelentkezve a távoli gépbe.

Ha a felhasználónevet nem adják meg, akkor az ssh parancs a rendszer jelenlegi bejelentkezési nevét használja.

Más felhasználóként történő bejelentkezéshez adja meg a felhasználónevet és a gazdagépet a következő formátumban:

ssh username@hostname

A felhasználónév az -l opcióval is megadható:

ssh -l username hostname

Alapértelmezés szerint, amikor nincs megadva port, az SSH kliens megpróbál csatlakozni a 22. porton lévő távoli szerverhez. Néhány kiszolgálón az adminisztrátorok az alapértelmezett SSH portot megváltoztatják, hogy extra biztonsági réteget hozzanak a kiszolgálóra azáltal, hogy csökkentik automata támadások.

Nem alapértelmezett porton történő csatlakozáshoz használja a -p opciót a port megadásához:

ssh -p 5522 username@hostname

ssh -v username@hostname

A sokoldalúság növeléséhez használja a -vv vagy -vvv .

Az ssh parancs számos lehetőséget elfogad.

Az összes lehetőség teljes listájáért olvassa el az ssh man oldalt az man ssh gépelésével a terminálon.

SSH konfigurációs fájl

Az OpenSSH kliens beolvassa a felhasználói konfigurációs fájlban megadott beállításokat ( ~/.ssh/config ). Ebben a fájlban különféle SSH-beállításokat tárolhat minden egyes távoli géphez, amelyhez csatlakozik.

Az alább látható egy SSH-konfigurációs minta:

Host dev HostName dev.linuxize.com User mike Port 4422

Amikor meghívja az ssh klienst az ssh dev gépelésével, a parancs elolvassa a ~/.ssh/config fájlt, és a dev host számára megadott kapcsolat részleteit használja. Ebben a példában az ssh dev egyenértékű a következővel:

ssh -p 4422 [email protected]

További információt az SSH konfigurációs fájlról szóló cikkben talál.

Nyilvános kulcs hitelesítése

Az SSH protokoll különféle hitelesítési mechanizmusokat támogat.

A nyilvános kulcson alapuló hitelesítési mechanizmus lehetővé teszi, hogy bejelentkezzen a távoli kiszolgálóra jelszó megadása nélkül.

Ez a módszer kriptográfiai kulcsok generálásával működik, amelyeket a hitelesítéshez használnak. A privát kulcsot az ügyfél eszközön tárolják, és a nyilvános kulcsot minden egyes távoli szerverre átviszik, amelybe be akarnak lépni. A távoli kiszolgálót úgy kell konfigurálni, hogy elfogadja a kulcs hitelesítését.

ssh-keygen -t rsa -b 4096 -C "[email protected]"

A rendszer felkéri a biztonságos jelmondatot. Az, hogy használni kívánja-e a jelmondatot, az ön döntése.

Miután megvan a kulcspár, másolja a nyilvános kulcsot a távoli kiszolgálóra:

ssh-copy-id username@hostname

Írja be a távoli felhasználó jelszavát, és a nyilvános kulcs hozzá lesz csatolva a távoli felhasználó authorized_keys kulcsai fájlhoz.

A kulcs feltöltése után bejelentkezhet a távoli kiszolgálóra jelszó kérése nélkül.

Kulcs-alapú hitelesítés beállításával egyszerűsítheti a bejelentkezési folyamatot, és növelheti az általános szerverbiztonságot.

Port továbbítás

Az SSH alagút vagy az SSH port továbbítása egy titkosított SSH kapcsolat létrehozásának módja az ügyfél és egy kiszolgáló gép között, amelyen keresztül a szolgáltatási portok továbbíthatók.

Az SSH továbbítás hasznos a titkosítatlan protokollt (például VNC vagy FTP) használó szolgáltatások hálózati adatainak továbbításához, a földrajzilag korlátozott tartalom eléréséhez vagy a közbenső tűzfalak megkerüléséhez. Alapvetően bármilyen TCP-portot továbbíthat, és alakulhat át a forgalom biztonságos SSH-kapcsolaton keresztül.

Háromféle SSH port-továbbítás létezik:

Helyi kikötőszállítás

A helyi port átirányítás lehetővé teszi a kapcsolat továbbítását az ügyfélgépről az SSH szerver gazdagépre, majd a cél gazda portra.

Helyi port-továbbítás létrehozásához adja át az -L opciót az ssh kliensnek:

ssh -L LOCAL_PORT:DESTINATION_HOST:DESTINATION_PORT -N -f username@hostname

Az -f opció azt jelzi, hogy az ssh parancs a háttérben fut, és -N nem hajt végre távoli parancsot.

Távoli port-továbbítás

A távoli port-továbbítás ellentétes a helyi port-továbbítással. Egy portot továbbít a kiszolgáló gazdagépről az ügyfél gazdagépre, majd a cél gazda portra.

Az -L opció megmondja az ssh , hogy távoli port-továbbítást hozzon létre:

ssh -R REMOTE_PORT:DESTINATION:DESTINATION_PORT -N -f username@hostname

Dinamikus port-továbbítás

A dinamikus porttovábbítás SOCKS proxy szervert hoz létre, amely lehetővé teszi a kommunikációt számos porton keresztül.

Dinamikus port-továbbítás (SOCKS) létrehozásához adja át a -D opciót az ssh kliensnek:

ssh -D LOCAL_PORT -N -f username@hostname

További részletekért és lépésről lépésre nézze meg az SSH alagút beállítása (port-továbbítás) című cikket.

Következtetés

SSH-n keresztül távoli szerverhez történő csatlakozáshoz használja az ssh parancsot, majd a távoli felhasználónevet és gazdagépnevet ( ssh username@hostname ).

Az ssh parancs használatának ismerete elengedhetetlen a távoli kiszolgáló kezeléséhez.

ssh terminál