Ablakok.  Vírusok.  Jegyzetfüzetek.  Internet.  hivatal.  Segédprogramok.  Drivers

Az SSH az egyik legfontosabb rendszeradminisztrációs eszköz.

Az SSH vagy a Secure Shell egy protokoll, amelyet a távoli rendszerekhez való biztonságos csatlakozásra használnak. Ez a legáltalánosabb módja a távoli Linux- és Unix-szerű szerverekhez (pl. VPS) való kapcsolódásnak.

Ez az oktatóanyag az SSH használatával foglalkozik távoli rendszerhez való csatlakozáshoz.

Alapszintaxis

A távoli rendszerhez való csatlakozáshoz SSH használatával Linuxban van egy azonos nevű eszköz - ssh.

Alapvető parancstípus:

ssh remote_host

Ebben a példában a „remote_host” kifejezés lecseréli annak a gazdagépnek az IP-címét vagy tartománynevét, amelyhez csatlakozni kíván.

Ez a parancs feltételezi, hogy a távoli és a helyi rendszeren lévő felhasználónév megegyezik.

Ha más felhasználónév van beállítva a távoli rendszeren, akkor azt a következő szintaxissal kell megadni:

ssh felhasználónév@remotehost

Miután csatlakozott a szerverhez, meg kell adnia egy jelszót az engedélyezéshez.

A jelszó helyett használható kulcsok létrehozásának eljárását később ismertetjük.

A helyi munkamenethez való visszatéréshez egyszerűen írja be:

Hogyan működik az SSH?

Az SSH úgy működik, hogy egy kliens programot csatlakoztat egy ssh-kiszolgálóhoz.

A fenti parancsokban az ssh az ügyfélprogram. Az ssh-kiszolgáló már fut a megadott távoli gazdagépen.

Ha az ssh-kiszolgáló még nem fut a VPS-en, kattintson a szerver oldalon található "Konzolhozzáférés" gombra. Ekkor megjelenik egy engedélyezési képernyő. Használja hitelesítő adatait a bejelentkezéshez.

Általánosságban elmondható, hogy az ssh-kiszolgáló indításának folyamata a használt Linux-disztribúciótól függ.

Ubuntu esetén ssh-kiszolgáló VPS-en való futtatásához írja be:

sudo service sshd start

SSH beállítás

Az SSH-beállítások módosításakor az ssh-kiszolgáló beállításai is megváltoznak.

Ubuntu esetén a fő SSH konfigurációs fájl az /etc/ssh/sshd_config fájlban található.

Szerkesztés előtt készítsen biztonsági másolatot a fájl aktuális verziójáról:

Sudo cp /etc/ssh/sshd_config(,.bak)

Nyissa meg egy szövegszerkesztővel:

sudo nano /etc/ssh/sshd_config

Egyes beállítások különös figyelmet igényelnek, például:

Ez a sor határozza meg, hogy az ssh szerver melyik porton figyeljen a kapcsolatokra. Az alapértelmezett a 22-es port.

Célszerű nem szabványos portot használni, hogy megvédje a szervert a véletlen portvizsgálatoktól. Később megmutatjuk, hogyan csatlakozhat az új porthoz.

HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key

A HostKey sorok jelzik a gazdagép kulcsok helyét (a gazdagép kulcsokról később).

SyslogFacility
LogLevel INFO

Ezek a sorok naplózási beállításokat tartalmaznak, és meghatározzák a naplózási szintet.

Ha bármilyen problémát tapasztal az SSH-val, javasoljuk, hogy növelje a naplózási szintet (ami növeli az írandó adatok mennyiségét).

BejelentkezésGraceTime 120
PermitRootLogin igen
StrictModes igen

Ezek a paraméterek tartalmaznak néhány regisztrációs információt.

BejelentkezésGraceTime Megadja, hogy hány másodpercig kell fenntartani a kapcsolatot engedély nélkül.

jegyzet: ebben a sorban állítson be valamivel több időt, mint amennyi általában a regisztrációhoz szükséges.

PermitRootLogin meghatározza a root felhasználóként való bejelentkezés lehetőségét.

A legtöbb esetben, miután létrehozott egy felhasználót emelt szintű jogosultságokkal (su vagy sudo) és képes csatlakozni ssh-n keresztül, ajánlott ezt a sort „no”-ra állítani.

strictModes egy biztonsági eszköz, amely megtagadja a belépést, ha a hitelesítési fájlok mindenki számára olvashatók.

Ez megakadályozza a bejelentkezési kísérleteket, ha a konfigurációs fájlok nem biztonságosak.

X11 Továbbítás igen
X11 DisplayOffset 10

Ezek a beállítások konfigurálják az X11 Forwarding nevű szolgáltatást, amely lehetővé teszi egy távoli rendszer grafikus felhasználói felületének (GUI) megtekintését a helyi rendszeren.

Ezt az opciót a helyi és a távoli gépeken is engedélyezni kell; a függvény használatához át kell adni a klienst és az -X opciót.

A fájl szerkesztése után ne felejtse el újraindítani az ssh-kiszolgálót a módosítások aktiválásához:

sudo service sshd újraindítás

Ezenkívül az elvégzett változtatásokat alaposan tesztelni kell, hogy megbizonyosodjon arról, hogy minden a várt módon működik.

Ha problémákat tapasztal, ne feledje, hogy a „Konzolhozzáférés” gombbal is bejelentkezhet.

Jelentkezzen be SSH kulcsokkal

A kulcsalapú hitelesítés gyakran sokkal biztonságosabb, mint a jelszóval történő bejelentkezés egy távoli rendszerbe.

Hogyan működik a kulcsalapú hitelesítés?

A kulcsalapú hitelesítés egy kulcspár létrehozását jelenti – privát és nyilvános.

A privát kulcs az ügyfélgépen található, és védeni kell, és titokban kell tartani.

A nyilvános kulcsot bárki átadhatja, és bármely szerveren elhelyezhető, amelyhez hozzá kell férni.

Amikor egy kulcspár használatával próbál csatlakozni, a szerver a nyilvános kulcs segítségével üzenetet hoz létre az ügyfélszámítógép számára, amely csak a privát kulccsal olvasható.

Az ügyfélszámítógép ezután megfelelő választ küld a kiszolgálónak, így a szerver megérti, hogy az ügyfél jogos.

A kulcsok beállítása után ez az egész folyamat automatikusan megtörténik a háttérben.

SSH kulcsok generálása

Az SSH-kulcsokat azon a számítógépen kell létrehozni, amelyről csatlakozni kíván (általában a helyi számítógépen).

A parancssorba írja be:

ssh-keygen -t rsa

Az alapértelmezett beállítások elfogadásához nyomja meg az Enter billentyűt. A kulcsok a ~/.ssh/id_rsa.pub és ~/.ssh/id_rsa fájlokban jönnek létre.

Váltson az .ssh könyvtárba a következő beírásával:

Ügyeljen a fájlengedélyekre:

ls-l
-rw-r--r-- 1 demo demó 807. szeptember 9. 22:15 engedélyezett_kulcsok
-rw------- 1 demó 1679. szeptember 9. 23:13 id_rsa
-rw-r--r-- 1 demó 396. szeptember 9. 23:13 id_rsa.pub

Amint láthatja, csak a tulajdonosnak van joga elolvasni és módosítani az id_rsa fájlt. Az ilyen jogosultságok a kulcs titokban tartásához szükségesek.

Ugyanakkor az id_rsa.pub fájl megosztható, mert rendelkezik a megfelelő jogosultságokkal.

A nyilvános kulcs átvitele a szerverre

A következő parancs a nyilvános kulcsot a távoli kiszolgálóra másolja:

ssh-copy-id remote_host

Ezzel megnyílik egy SSH-munkamenet, amelyhez jelszó szükséges.

A jelszó megadása után a nyilvános kulcs a szerverre másolódik, így legközelebb jelszó nélkül jelentkezhet be.

SSH kliens beállításai

Ha SSH-n keresztül csatlakozik, számos jelző használható.

Némelyikük szükséges a megfelelő beállítások megadásához a távoli gazdagép ssh fájljában.

Például, ha a helyi gazdagép ssh-konfigurációiban szereplő portszám megváltozott, be kell állítania a megfelelő portot a kliens oldalon a következő beírásával:

ssh -p portszám távoli gazdagép

Ha egy parancsot végre kell hajtani a távoli rendszeren, az a következőképpen adható meg:

ssh remote_host kívánt_parancs

Ez a sor kapcsolatot létesít a távoli géppel, és végrehajtja a megadott parancsot.

Ahogy már említettük, ha az X11 továbbítási funkció mindkét számítógépen engedélyezve van, akkor a következő beírásával használható:

ssh -X remote_host

Ha az összes megfelelő eszköz elérhető a helyi rendszeren, a távoli rendszeren használt grafikus felhasználói felületek megnyílnak a helyi számítógépen.

Eredmények

Az SSH-val való munka elsajátítása nagyon fontos, már csak azért is, mert a legalapvetőbb feladatok elvégzéséhez szükséges.

Az SSH folyamatos használatával nem csak a szerver biztonságát biztosíthatja, hanem haladó felhasználóvá is válhat, ami nagyban leegyszerűsíti az életét. Az SSH protokoll továbbra is népszerű, mert biztonságos, megbízható és számos helyzetben hasznos.

Címkék: ,

A telepítés a szabványos Ubuntu tárolókból történik, ezért konfigurált internetkapcsolat szükséges.

Az Ubuntu Server 12.04 OpenSSH-kiszolgálót használ, amely telepítésre kerül. Futtassa a következő parancsot:

sudo apt-get install openssh-server

A telepítés nem sok időt vesz igénybe, az internetkapcsolat sebességétől függően akár több percet is igénybe vehet. A telepítés befejezése után azonnal elindíthatja az sshd szolgáltatást és elkezdheti használni az ssh szervert, mert. A telepítés során beállított összes OpenSSH-beállítás rendkívül biztonságos. Az OpenSSH szerver futtatásának elindítása:

Előfordulhat azonban, hogy korlátozásokat kíván hozzáadni és javítani a biztonságot, és ehhez apróbb módosításokat kell végrehajtania a beállításokon. Mint szinte minden szerverszoftver esetében, az SSH-beállítások a beállítások nevei és értékei egy konfigurációs fájlban (ebben az esetben /etc/ssh/sshd_config).

Az ssh szerver biztonságának növelése

Mielőtt módosítani kezdené az /etc/ssh/sshd_config konfigurációs fájlt, minden esetre készítsen róla egy másolatot. Például átmásolhat egy fájlt a saját mappájába:

sudo cp /etc/ssh/sshd_config ~

Most elkezdhetjük az ssh szerver beállítását. Nyissa meg az /etc/ssh/sshd_config fájlt egy szövegszerkesztővel, például vi:

sudo vi /etc/ssh/sshd_config

Ssh szerver port módosítása

Az ssh-kiszolgáló által használt szabványos TCP/IP-port a 22-es. Ennek tudatában számos automatikus hackerprogram keresi a hálózatot nyitott 22-es portok után, és megpróbál csatlakozni az ssh-protokoll használatával, és kitalálni a jelszót. Abban az esetben, ha a felhasználónév és a jelszó egyszerű (ami természetesen elfogadhatatlan), fennáll annak a veszélye, hogy kitalálják, és egy támadó bejut a rendszerébe. A port megváltoztatása a legtöbb esetben elrejti az ssh-kiszolgálót az automatikus hackerrendszerek elől. A port megváltoztatásához keresse meg a "Port 22" sort a konfigurációs fájlban, és módosítsa a port értékét, például:

Vegye figyelembe, hogy az ssh-port megváltoztatása nem mindig jó megoldás, például azért, mert legalább a portszámot meg kell emlékeznie, amikor megpróbál csatlakozni a szerverhez. A brute force jelszavak elleni további védelem érdekében használjon ssh-kulcsokat, ne jelszavakat.

Az ssh-n keresztüli root bejelentkezés megakadályozása

Az ssh-n keresztüli root bejelentkezés letiltása a biztonságot is javítja valamelyest, mert ha egy támadónak sikerül kitalálnia a jelszót és rootként bejelentkezik a rendszerébe, akkor azonnal átveszi a teljes irányítást a rendszer felett.A beállítás végrehajtásához keresse meg a „PermitRootLogin” paramétert, és módosítsa az értékét "igen"-ről "nem"-re:

Az ssh bejelentkezés engedélyezése csak bizonyos felhasználók számára

A biztonság növelésének másik módja az ssh-be belépő felhasználók számának korlátozása. Ezt az "AllowUsers" direktíva segítségével lehet megtenni. Ha megtalálható egy konfigurációs fájlban, csak az abban leírt felhasználók jelentkezhetnek be. Például, ha csak a "howtoit" felhasználó számára szeretné engedélyezni az ssh bejelentkezést, ehhez adja hozzá a következő sort az /etc/ssh/sshd_config fájl végéhez:

Ha több felhasználót szeretne felsorolni, egyszerűen adja hozzá őket szóközzel elválasztva, például:

AllowUsers howtoitru someuser

A konfiguráció befejezése után mentse és zárja be a konfigurációs fájlt, és indítsa újra az ssh-kiszolgálót:

Most már képesnek kell lennie az Ubuntu Server 12.04 rendszeréhez egy másik gépről csatlakozni egy ssh-kliens használatával.

ÉS Vino. Az általános működési elv: egy biztonságos SSH alagút jön létre a Windows számítógépről az Ubuntu felé, és ezen keresztül jön létre a VNC kapcsolat (távoli asztal).

A cikk négy részre oszlik:

  • A SecureShellServer telepítése és aktiválása: sudo apt-get install openssh-server szolgáltatás ssh állapot ssh indítás/futás, folyamat 2006

    Annak ellenőrzése, hogy a 22-es port nyitva van-e (az SSH által használt alapértelmezett port):

    Netstat -tulpan | grep:22 tcp 0 0 0.0.0.0:22 0.0.0.0:* HALLGAT -

    Linuxon az SSH-n keresztüli csatlakozáshoz helyi porttovábbítással általában a következő parancsot használják

    Ssh -C -o -L<локальный_порт>:<адрес_машины>:<удаленный_порт>-l<пользователь>

    Ez azt jelenti, hogy a helyi számítógépről (localhost) származó minden kapcsolat a porton keresztül<локальный_порт>át lesz irányítva az SSH alagúton ide<удаленный_порт>távoli gép.

    Zavarok vannak azzal kapcsolatban, hogy melyik IP-címen kell megadni És<адрес_машины>. Ha a számítógép router (NAT) mögött van, akkor<адрес_машины>a számítógép belső IP-címének kell lennie (például 10.0.0.5), és in a router külső IP-címe. Ha a számítógép közvetlenül csatlakozik az internethez, akkor a címeket És<адрес_машины>ugyanaz lesz.

    Összefoglalva az alagútépítést, vegyünk egy példát:

    ssh -l myuserid -L 7777:work:22 kapu ssh -p 7777 localhost

    Ez a parancs a következőket teszi: biztonságos ssh-kapcsolatot hoz létre a kapugéppel a myuserid felhasználónév alatt. Ezzel egyidejűleg elindul a figyelés a helyi gépen (amelyről a kapcsolat létrejött) a 7777-es porton. Ha ezen a porton létrejön a kapcsolat (ismét magából a helyi gépből), akkor ez a kapcsolat egy ssh-be kerül. kapcsolat, eléri a kapugépet, és a 22-es porton lévő munkagépen jön létre belőle kapcsolat. Ezt követően ellenőrizzük az alagút működését - ssh-n keresztül csatlakozva a helyi 7777-es porthoz végül csatlakozunk a munkagéphez (figyelembe véve, hogy a 22-es porton ssh-kiszolgáló van beállítva).

    Az SSH-alagút használatakor fokozott biztonság érhető el, mivel csak egy portnak kell kifelé nyitva lennie (SSH), és a titkosított kapcsolat csak ezen a porton keresztül megy át.
    Ellenőrizze, hogy a mappa létezik-e a szerveren

    /itthon/<имя_пользователся>/.ssh

    /itthon/<имя_пользователся>/.ssh/authorized_keys

    benne, ha nem, akkor hozzon létre a felhasználó alatt<имя_пользователся>(általában ez az első felhasználó a rendszerben vagy rendszergazda)

    mkdir ~/.ssh cd ~/.ssh érintse meg az engedélyezett_kulcsokat

    Az ssh beállítása a nagyobb biztonság érdekében. A beállítási fájl a következő helyen található:

    /etc/ssh/sshd_config

    Biztonsági mentés készítése

    sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original

    Általában módosítania kell:

    • TCP figyelő port (alapértelmezett 22):
      kikötő<Порт_на_котором_SSH_будет_ждать_подключения>
    • Tiltsa le a nem megbízható régi SSH 1-es verziójú protokollt:
      2. jegyzőkönyv
    • Nyilvános/privát kulcspáros hitelesítés engedélyezése:
      PubkeyAuthentication igen
    • Adja meg, hol nézze meg az engedélyezett nyilvános kulcsokat:
      AuthorizedKeysFile %h/.ssh/authorized_keys
    • Tiltsa le a jelszóval történő hitelesítés lehetőségét (később is megteheti, sikeres első csatlakozás után):
      JelszóHitelesítés sz

    A nagyobb biztonság érdekében az SSH-hitelesítést nyilvános kulccsal kell konfigurálnia.
    Az ssh-n keresztüli csatlakozáshoz engedélyezett nyilvános kulcsok egy fájlban tárolódnak

    ~/.ssh/authorized_keys

    Létrehozunk egy pár nyilvános / privát kulcsot a gépen, amelyről csatlakozni fogunk (később ismertetjük), és a nyilvános kulcsot átmásoljuk ebbe a fájlba.

    Különös figyelmet kell fordítani a formázásra - a teljes kulcsot egy sorba kell helyezni, és "ssh-rsa"-val és fájlhozzáféréssel kell kezdődnie (-rw——- (600)).

    A fájlhoz való megfelelő hozzáférést kulcsokkal konfiguráljuk

    chmod go-w $HOME $HOME/.ssh chmod 600 $HOME/.ssh/authorized_key chown `whoami` $HOME/.ssh/authorized_keys

    A beállítási fájlban /etc/ssh/sshd_config változás

    StrictModes sz

    A fájlban megadott beállítások alkalmazása /etc/ssh/sshd_config, újra kell indítania az sshd démont.

    sudo /etc/init.d/ssh újraindítás

  • Töltse le a putty.exe fájlt
    Mielőtt belemerülne a Putty beállításokba, néhány dolgot meg kell jegyezni.
    • A Putty elmenti a beállításokat a profilokba.
    • Az összes beállítás profilba mentéséhez lépjen a Munkamenet menübe a Mentett munkamenet oszlopban, írja be a profil nevét, majd kattintson a Mentés gombra. Egy adott profil betöltéséhez ugyanabban a menüben a Puttyban, válassza ki a kívánt profilt név szerint, és kattintson a Betöltés gombra.
    • Egy adott profil automatikus betöltéséhez a Putty indításakor létre kell hoznia egy parancsikont az exe fájlhoz, és a Munkamappa hozzáadás sorban az exe fájl elérési útja után hozzá kell adnia
      -Betöltés<имя_профиля>

    A biztonság javítása érdekében:

    • helyi port továbbítás
    • nyilvános kulcsú rendszer

    Ha SSH-kapcsolatot használunk a VNC-n (távoli asztalon) keresztüli eléréshez, akkor konfigurálni kell a porttovábbítást, az ún. helyi port továbbítás. A biztonság növelésére szolgál, mivel VNC használatakor az adatok tiszta szövegben kerülnek továbbításra.

    A Putty portjainak továbbításához lépjen a menübe Kapcsolat -> SSH -> Alagutakés add hozzá 5900 mint "forrás port", localhost: 5900 a „Cél” részben, és kattintson a Hozzáadás gombra.

    A Puttygen segítségével létrehozhat nyilvános/privát kulcspárt. Töltse le a puttygen.exe fájlt A paramétereknél válassza ki az SSH-2 RSA-t, állítsa be a bitek számát 2048-ra, majd kattintson a Generálás gombra.

    A további biztonság érdekében kétszer is beírhatja a „jelszót”. Ha SSH kapcsolat közben azonnal be kell jelentkezni a konzolba, akkor a mező üresen hagyható.

    A nyilvános kulcsot csak a Putty által érthető formátumban tárolja. Ezért a Linuxra való telepítéshez a következőket kell tennie:

    1. Amíg a puttygen még nyitva van, másolja ki a nyilvános kulcsot a "Nyilvános kulcs a beillesztéshez ..." szakaszban, és illessze be a fájlba engedélyezett_kulcsok szerveren.
    2. Mutasson a Putty-ra a Connection -> SSH -> Auth menüben a "Privát kulcs fájl hitelesítéshez" alatt a létrehozott *.ppk fájl privát kulcs fájljára.
  • A Vino VNC-kiszolgáló alapértelmezés szerint engedélyezve van az Ubuntuban. A konfigurálásához lépjen a Menü -> Rendszer -> Beállítások -> Távoli asztal menüpontra, és engedélyezze a távoli hozzáférést. A beállításokban engedélyezheti a jelszavas hitelesítést, de nem konfigurálhatja a figyelő portot (5900 van használatban).
    A részletesebb beállításokhoz az X11VNC telepítése javasolt.
  • Töltse le és telepítse a TightVNC-t. E cikk alkalmazásában elegendő csak az ügyfél szerepkört kiválasztani.

    Windows gépen elindítjuk a TightVNC-t, és a terepen hajtunk

    localhost: 5900

Az Ubuntu Server Guide ezen része az OpenSSH nevű, hálózatba kapcsolt számítógépek távvezérlésére és adatátvitelére szolgáló eszközök hatékony gyűjteményét mutatja be. Ezenkívül megtudhatja az OpenSSH-kiszolgálóalkalmazással lehetséges konfigurációs beállításokat, valamint azt, hogy hogyan módosíthatja azokat Ubuntu rendszerén.

Az OpenSSH a Secure Shell (SSH) protokollcsalád ingyenesen elérhető verziója a számítógépek távoli vezérlésére vagy fájlok átvitelére. Az e funkciók végrehajtására használt hagyományos eszközök, mint például a telnet vagy az rcp, nem biztonságosak, és használatukkor a felhasználó jelszavát tiszta szövegben továbbítják. Az OpenSSH szerverdémont és klienseszközöket biztosít a biztonságos, titkosított távvezérlési és fájlátviteli műveletek megkönnyítésére, hatékonyan helyettesítve az örökséget. eszközöket.

Az OpenSSH kiszolgálókomponens, az sshd folyamatosan figyeli az ügyfélkapcsolatokat bármelyik ügyféleszközről. Amikor csatlakozási kérés történik, az sshd beállítja a megfelelő kapcsolatot a csatlakozó ügyféleszköz típusától függően. Például, ha a távoli számítógép csatlakozik az ssh-ügyfélalkalmazáshoz, az OpenSSH-kiszolgáló a hitelesítés után távvezérlési munkamenetet állít be. Ha egy távoli felhasználó scp segítségével csatlakozik egy OpenSSH-kiszolgálóhoz, az OpenSSH-kiszolgálódémon hitelesítés után biztonságos másolatot készít a fájlokról a szerver és az ügyfél között. Az OpenSSH számos hitelesítési módszert használhat, beleértve az egyszerű jelszót, a nyilvános kulcsot és a Kerberos jegyeket.

Telepítés

Az OpenSSH kliens és szerver alkalmazások telepítése egyszerű. Az OpenSSH ügyfélalkalmazások Ubuntu rendszerére történő telepítéséhez használja ezt a parancsot a terminálpromptban:

sudo apt install openssh-client

Az OpenSSH-kiszolgálóalkalmazás és a kapcsolódó támogatási fájlok telepítéséhez használja ezt a parancsot a terminálpromptban:

sudo apt install openssh-server

Az openssh-server csomag a Server Edition telepítési folyamata során is kiválasztható a telepítéshez.

Konfiguráció

Az /etc/ssh/sshd_config fájl szerkesztésével beállíthatja az OpenSSH-kiszolgálóalkalmazás, az sshd alapértelmezett viselkedését. Az ebben a fájlban használt konfigurációs direktívákra vonatkozó információkért tekintse meg a megfelelő kézikönyvoldalt a következő paranccsal, amelyet egy terminálpromptban adnak ki:

man sshd_config

Az sshd konfigurációs fájlban számos direktíva található, amelyek szabályozzák például a kommunikációs beállításokat és a hitelesítési módokat. Az alábbiakban példák láthatók az /etc/ssh/sshd_config fájl szerkesztésével megváltoztatható konfigurációs direktívákra.

A konfigurációs fájl szerkesztése előtt készítsen másolatot az eredeti fájlról, és védje meg az írástól, hogy az eredeti beállítások referenciaként szolgáljanak, és szükség esetén újra felhasználhatók legyenek.

Másolja ki az /etc/ssh/sshd_config fájlt, és védje meg az írástól a következő parancsokkal, amelyeket egy terminálprompton adnak ki:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original sudo chmod a-w /etc/ssh/sshd_config.original

A következő példák a módosítható konfigurációs direktívákra:

    Ha azt szeretné beállítani, hogy az OpenSSH a 2222-es TCP-porton figyeljen az alapértelmezett 22-es TCP-port helyett, módosítsa a Port direktívát:

    Ahhoz, hogy az sshd engedélyezze a nyilvános kulcson alapuló bejelentkezési hitelesítő adatokat, egyszerűen adja hozzá vagy módosítsa a sort:

    PubkeyAuthentication igen

    Ha a sor már jelen van, győződjön meg róla, hogy nincs megjegyzésben.

    Ahhoz, hogy az OpenSSH-kiszolgáló bejelentkezés előtti szalagcímként jelenítse meg az /etc/issue.net fájl tartalmát, egyszerűen adja hozzá vagy módosítsa a sort:

    Banner /etc/issue.net

    Az /etc/ssh/sshd_config fájlban.

Miután módosította az /etc/ssh/sshd_config fájlt, mentse el a fájlt, és indítsa újra az sshd kiszolgálóalkalmazást, hogy végrehajtsa a módosításokat a következő paranccsal egy terminálpromptban:

sudo systemctl indítsa újra az sshd.service fájlt

Számos más konfigurációs direktíva is elérhető az sshd számára, hogy a szerveralkalmazás viselkedését az Ön igényeinek megfelelően módosítsa. Figyelembe kell azonban venni, ha a szerverhez való egyetlen hozzáférési mód az ssh , és hibát követ el az sshd beállításánál az /etc paranccsal /ssh/sshd_config fájlt, előfordulhat, hogy az újraindításkor ki van zárva a szerverből.

Mi az az SSH és mire való?

A Secure Shell (SSH) egy hálózati protokoll, amely shell-funkciókat biztosít egy távoli gép számára egy biztonságos csatornán keresztül. Az SSH különféle biztonsági fejlesztéseket kínál, beleértve a felhasználó/gazda hitelesítést, az adatok titkosítását és az adatok integritását, ami lehetetlenné teszi az olyan népszerű támadásokat, mint a lehallgatás, a DNS/IP-hamisítás, az adathamisítás és a kapcsolateltérítés stb. Az ftp, telnet vagy rlogin felhasználók, akik használják Az SSH-ra való váltáshoz erősen ajánlott olyan protokoll, amely tiszta szövegben továbbítja az adatokat.

Az OpenSSH az SSH-protokoll nyílt forráskódú megvalósítása, amely lehetővé teszi a hálózati kapcsolat titkosítását egy sor program segítségével. Ha SSH-t szeretne Linuxon, akkor telepítheti az OpenSSH-t, amely egy OpenSSH-kiszolgálóból és ügyfélcsomagokból áll.

Az OpenSSH szerver/kliens csomagok a következő segédprogramokkal érkeznek:

  • OpenSSH szerver: sshd (SSH démon)
  • OpenSSH kliens: scp (biztonságos távoli másolat), sftp (biztonságos fájlátvitel), slogin/ssh (biztonságos távoli bejelentkezés), ssh-add (privát kulcs hozzáadása), ssh-agent (hitelesítési ügynök), ssh-keygen (hitelesítési kulcskezelés) ).
OpenSSH-kiszolgáló és kliens telepítése Linuxra

Ha OpenSSH-kiszolgálót/klienst szeretne telepíteni, és az OpenSSH-kiszolgálót automatikusan elindítani, kövesse az alábbi utasításokat, amelyek elosztásonként változnak.

Debian, Ubuntu vagy Linux Mint

$ sudo apt-get install openssh-server openssh-client

Debian-alapú rendszereken a telepítés után az OpenSSH automatikusan elindul a rendszerindításkor. Ha valamilyen oknál fogva az OpenSSH-kiszolgáló nem indul el automatikusan a rendszer indításakor, akkor a következő parancs futtatásával kifejezetten hozzáadhatja az ssh-t a rendszerindításhoz.

$ sudo update-rc.d ssh defaults

Fedora vagy CentOS/RHEL 7

$ sudo yum -y install openssh-server openssh-clients $ sudo systemctl sshd szolgáltatás elindítása $ sudo systemctl sshd.service engedélyezése

CentOS/RHEL6

$ sudo yum -y install openssh-server openssh-clients $ sudo service sshd start $ sudo chkconfig sshd on

Arch Linux

$ sudo pacman -Sy openssh $ sudo systemctl sshd szolgáltatás indítása $ sudo systemctl sshd.service engedélyezése

OpenSSH szerver beállítása

Ha OpenSSH-kiszolgálót szeretne beállítani, szerkesztheti az /etc/ssh/sshd_config fájlban található, rendszerszintű konfigurációs fájlt.

Van néhány OpenSSH lehetőség, amelyek érdekelhetik:
Alapértelmezés szerint az sshd a 22-es porton figyel, és figyel a bejövő ssh-kapcsolatokra. Az ssh alapértelmezett portjának megváltoztatásával megakadályozhatja a hackerek különféle automatizált támadásait.
Ha a gépén egynél több fizikai hálózati interfész van, érdemes ellenőrizni, hogy melyik van társítva az sshd-vel, ehhez használhatja a ListenAddress opciót. Ez a beállítás javítja a biztonságot azáltal, hogy a bejövő SSH-t csak egy adott interfészre korlátozza.

HostKey /etc/ssh/ssh_host_key

A HostKey opció határozza meg, hogy hova kerüljön a személyes gazdagép kulcs.

PermitRootLogin sz

PermitRootLogin opció – a root be tud-e jelentkezni ssh-n keresztül.

AllowUsers alice bob

Az AllowUsers opcióval szelektíven letilthatja az ssh szolgáltatást bizonyos Linux-felhasználók számára. Több felhasználót is megadhat, ha szóközzel választja el őket.

Az /etc/ssh/sshd_config módosítása után feltétlenül indítsa újra az ssh szolgáltatást.

Az OpenSSH újraindítása Debian, Ubuntu vagy Linux Mint rendszeren:

$ sudo /etc/init.d/ssh újraindítás

Az OpenSSH újraindítása Fedora, CentOS/RHEL 7 vagy Arch Linux rendszeren:

$ sudo systemctl indítsa újra az sshd.service fájlt

Az OpenSSH újraindítása CentOS/RHEL 6 rendszeren:

$ sudo szolgáltatás sshd újraindítás

Hogyan lehet csatlakozni az SSH-hoz

Csatlakozás az SSH-hoz Linuxról

A Linux felhasználóknak nem kell további szoftvereket telepíteniük.

Csatlakozás az SSH-hoz a Windows rendszerből

A vendégek elől rejtve

.

A Cygwin nem csak egy SSH-kliens. Ez egy erőteljes kombináció, amely számos Linux-parancsot támogat. Például nagyon könnyű SSL-tanúsítványokat létrehozni a Cygwinben (akárcsak a Linuxban). Windows rendszeren az önaláírt tanúsítványok létrehozásához egy tamburával kell táncolni. A Cygwin nagyon kényelmes a cURL használata (nem kell semmit külön telepíteni), stb. Akinek hiányzik a parancssor és a Linux-programok Windowson, az a Cygwinben talál konnektort.

A Cygwin telepítése egyszerű. Menjünk-hoz

A vendégek elől rejtve

És töltse le

A vendégek elől rejtve

A vendégek elől rejtve

Egy apró fájl letöltése megtörténik – ez a telepítő. Grafikus telepítő. Bár számos lehetőséget tartalmaz, ezek mindegyike meglehetősen egyszerű, és sok más grafikus telepítőből is ismert. Ha valami nem világos, kattintson a "Tovább" gombra. Talán csak a következő ablak lehet zavaró:

Itt található az összes telepíthető elem. Most nem kell velük foglalkoznunk. Mivel a legkeresettebbek már be vannak jelölve. És ha valami hiányzik a jövőben, akkor könnyen telepítheti, amire szüksége van.

SSH-kapcsolat (Linux és Windows rendszeren általános)

A Linux-felhasználók megnyitják a konzolt, a Windows-felhasználók pedig a Cygwin-t írják be.

Az SSH-nak a következő információkra van szüksége a csatlakozáshoz:

  • IP vagy gazdagépnév
  • portszám
  • Felhasználónév
  • felhasználói jelszó
Az SSH ezen opciók közül kettőt feltételezhet: felhasználónév és portszám. Ha nincs megadva port, a rendszer az alapértelmezett portot feltételezi. Ha nincs megadva felhasználó, akkor a rendszer ugyanazt a nevet használja, mint azon a rendszeren, amelyről a kapcsolat létrejön. Például a kapcsolat hosztcíme 192.168.1.36 . Ha tárcsázom

ssh 192.168.1.36

A következőt látom

[e-mail védett]~ $ ssh 192.168.1.36 A "192.168.1.36 (192.168.1.36)" gazdagép hitelessége nem állapítható meg. Az ECDSA-kulcs ujjlenyomata: SHA256:sIxZeSuiivoEQ00RXAQHxylxuEAP8hL5r )?

Mivel először csatlakozom a gazdagéphez, ez egy ismeretlen gazdagép. Megkérdezik, hogy akarom-e folytatni. tárcsázom Igen:

Figyelmeztetés: „192.168.1.36” (ECDSA) véglegesen hozzáadva az ismert gazdagépek listájához. [e-mail védett]"jelszó:

Oké, a 192.168.1.36 gazdagép felkerült az ismert gazdagépek listájára. Jelszót kérek Alex felhasználóhoz. Mivel SSH-val nincs ilyen user a szerveren, de nyomom ctrl+c(törni), és írja be a parancsot a távoli rendszer felhasználónevével együtt. A felhasználó a távoli gép címe elé kerül, és a @ szimbólum választja el a címtől. A @ szimbólum angol nyelven a következőnek felel meg, és "in"-nek fordítható. Azok. belépés [e-mail védett]értelmezhető: "mial user a 192.168.1.36 gépen".

ssh [e-mail védett]

Meghívás [e-mail védett] meghívó váltotta fel [e-mail védett]. Ez azt jelenti, hogy már egy távoli gépen vagyunk, azaz már csatlakoztunk. Ha meg kell adni egy portot (ha eltér a szabványostól), akkor a portot a -p kapcsoló után kell megadni. Például így:

ssh [e-mail védett]-p 10456

A csatlakozás után valami ehhez hasonló üdvözlettel fogadunk minket:

Linux mint 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1 (2015-05-24) x86_64 A Debian GNU/Linux rendszerhez tartozó programok ingyenes szoftverek; az egyes programok pontos terjesztési feltételei a /usr/share/doc/*/copyright fájlokban találhatók. A Debian GNU/Linux TELJESEN NINCS GARANCIA, a vonatkozó törvények által megengedett mértékig. Utolsó bejelentkezés: 2015. június 16. kedd 15:32:25 192.168.1.35-től

Ebből az következik, hogy a távoli gép Linux Mint, 3.16-os kernel, 64 bites verzióval. Szintén fontos információ az utolsó bejelentkezés időpontjáról és az IP-címről, ahonnan a kapcsolat létrejött. Ha nem ismeri az időt és az IP-címet, és Ön az egyetlen felhasználó, akkor rendszere veszélybe került, és meg kell tennie a megfelelő intézkedéseket.

Írjunk be néhány parancsot, hogy megbizonyosodjunk arról, hol vagyunk és kik vagyunk: pwd, [B]uname -a stb.:

A munkamenet befejezéséhez (kapcsolat bontásához) tárcsázza

Vagy kattintson Ctrl+D.

Jelentkezzen be az SSH-ba jelszó megadása nélkül

Először is, ez kényelmesebb. Másodszor, biztonságosabb.

Először is létre kell hoznunk az rsa kulcsokat. Ha Linux felhasználó vagy, akkor minden rendben van. Ha Ön Windows-felhasználó, de nem hallgatta meg a tanácsomat, és a PuTTY-t választotta, akkor van egy problémája, és gondolja át, hogyan oldja meg. Ha Cygwin van, akkor is minden rendben van.

Ha sikerült bejelentkeznie a távoli rendszerbe, jelentkezzen ki. Ezután írja be

ssh-keygen -t rsa

Kérik tőlünk a fájl nevét, nem kell semmit beírnunk, az alapértelmezett név kerül felhasználásra. Jelszót is kér. Nem írok be jelszót.

Most létre kell hoznunk egy .ssh könyvtárat a távoli gépen. A parancs távoli gépen való végrehajtásáról az alábbiakban lesz szó. Egyelőre csak másolja ki a parancsot, ne felejtse el megváltoztatni az IP-címet és a felhasználónevet a sajátjára:

ssh [e-mail védett] mkdir.ssh

Most át kell másolnunk az id_rsa.pub fájl tartalmát a távoli gépre. Ezt nagyon egyszerű megtenni (ne felejtse el megváltoztatni az adatokat a sajátjára):

cat.ssh/id_rsa.pub | ssh [e-mail védett]"macska >> .ssh/authorized_keys"

Most csak bejelentkezünk, és többé nem kérünk jelszót. És ez mindig így lesz.

Parancsok végrehajtása távoli szerveren shell-munkamenet létrehozása nélkül

Amellett, hogy egy shell-munkamenetet nyit egy távoli rendszeren, az ssh lehetővé teszi egyedi parancsok végrehajtását egy távoli rendszeren is. Ha például a tree parancsot egy remote-sys nevű távoli gazdagépen szeretné végrehajtani, és az eredményeket megjeleníteni a helyi rendszeren, tegye a következőket:

ssh remote-sys fa

Az igazi példám:

ssh [e-mail védett] fa

Ezzel a technikával érdekes dolgokat hajthat végre, például futtathat egy ls parancsot a távoli rendszeren, és átirányíthatja a kimenetet egy fájlba a helyi rendszeren:

ssh remote-sys "ls *" > dirlist.txt

Valódi példa:

ssh [e-mail védett]"ls *" > dirlist.txt cat dirlist.txt

Figyelje meg az idézőjeleket a fenti parancsban. Ez azért van, mert nem akarjuk, hogy az elérési út kibővítése a helyi gépen történjen; mert szükségünk van erre a végrehajtásra egy távoli rendszeren. Továbbá, ha a szabványos kimenetet át akarjuk irányítani egy fájlra a távoli gépen, akkor az átirányítási utasítást és a fájl nevét idézőjelbe helyezhetjük:

ssh remote-sys "ls * > dirlist.txt"

Stdout küldése a helyi gépről a távoli gépre ssh-n keresztül

A parancsok végrehajtására egy hasonlóan érdekes lehetőség egy kicsit magasabb:

cat.ssh/id_rsa.pub | ssh [e-mail védett]"macska >> .ssh/authorized_keys"

  • A cat parancs soronként olvassa, és megjeleníti a helyi gépen található .ssh/id_rsa.pub fájl tartalmát.
  • | (pipe) azt adja meg, aminek meg kell jelennie egy másik parancs szabványos kimenetén.
  • Az átadott sorokat feldolgozó parancs helyett egy kapcsolat jön létre a távoli rendszerrel (ssh [e-mail védett]).
  • A távoli rendszerhez olyan vonalak érkeznek, amelyekhez a cat >> .ssh/authorized_keys parancs biztosított. Azok. a szabványos kimenet tartalma soronként a távoli gépen található .ssh/authorized_keys fájlba kerül.
Távoli számítógépen található grafikus program megnyitása

A következő trükkhöz két Linuxos számítógépre van szükség. Sajnos még Cygwin sem tudja kezelni ezt a trükköt. Sőt, mind a Linuxnak, mind pedig grafikus felhasználói felülettel kell rendelkeznie.

Alagútépítés SSH-val

Többek között, ha SSH-n keresztül kapcsolatot létesítenek egy távoli gazdagéppel, akkor egy titkosított alagút jön létre, amely a helyi és a távoli rendszer között jön létre. Általában ezt az alagutat használják annak biztosítására, hogy a helyi gépen beírt parancsok biztonságosan továbbításra kerüljenek a távoli gépre, és az eredményt is biztonságosan visszaküldjék.

Ezen az alapfunkción túlmenően az SSH protokoll lehetővé teszi a legtöbb forgalom titkosított alagúton történő továbbítását, egyfajta VPN-t (virtuális magánhálózat) hozva létre a helyi és távoli rendszerek között.

Ezek közül a szolgáltatások közül talán a leggyakrabban használt az X Window System forgalom közvetítésének képessége. Egy X szervert futtató rendszeren (ezek grafikus felhasználói felülettel rendelkező gépek) lehetséges egy X kliensprogram (grafikus alkalmazás) futtatása egy távoli rendszeren, és megtekinthető a kimenete a helyi rendszeren. Egyszerűsítsd. Például csatlakozni akarok a távoli host remote-sys-hez, és le akarom futtatni rajta az xload programot. Ugyanakkor a program grafikus kimenetét látom a helyi számítógépen. Ez így történik:

ssh -X remote-sys xload

Valódi példa:

Ssh-X [e-mail védett] gedit

Azok. Az SSH az -X kapcsolóval indul. És akkor a program csak fut. Nézd meg a képernyőképet.

Kali Linuxon vagyok. Sikeresen bejelentkeztem egy távoli számítógépre SSH-n keresztül. Ezek után elindítottam a gedit programot. Lehet, hogy ez a program nem is Kali Linuxon van, de a Linux Mintben, amelyhez csatlakoztam, biztosan létezik. A program eredményét úgy látom a képernyőn, mintha a program helyben futna. De ismét szeretném, ha ezt megértené, a helyi számítógépen nem fut gedit program. Ha el akarom menteni a gedit (vagy bármely más, így megnyitott program) kimenetét, akkor kiderül, hogy a távoli számítógép környezetében fut, látja a fájlrendszerét stb. Ez akkor hasznos, ha konfigurálni szeretné a távoli számítógép grafikus interfész segítségével.

Ugyanebben a cikkben később, a „VNC beállítása SSH-n keresztül” részben megtudhatja, hogyan lehet képet átvinni a teljes asztalról.

Egyes rendszereken ehhez a trükkhöz az -X opció helyett az -Y kapcsolót kell használni.

Másolás távoli számítógépről/távoli számítógépre (scp és sftp)

scp

Az OpenSSH-csomag két olyan programot is tartalmaz, amelyek titkosított SSH-alagutat használnak a fájlok hálózaton keresztüli másolására. Az első program az scp("biztonságos másolat") gyakrabban használatos, csakúgy, mint a fájlok másolására szolgáló hasonló cp program. A legszembetűnőbb különbség az, hogy a fájl forrása lehet egy távoli gazdagép, amelyet kettőspont követ, és a fájl helye. Ha például egy document.txt nevű dokumentumot szeretnénk átmásolni a saját könyvtárunkból a távoli rendszer távoli rendszerébe a helyi rendszerünk aktuális munkakönyvtárában, akkor ezt megtehetjük:

Scp remote-sys:document.txt . document.txt 100% 177 0,2KB/s 00:00

Valódi példa:

# törölje a fájlt a helyi gépen, ha létezik rm dirlist.txt # hozza létre a fájlt a távoli gépen ssh [e-mail védett]"ls * > dirlist.txt" # ellenőrizze, hogy létezik-e ssh [e-mail védett]"ls -l" # másolja a helyi gépre scp [e-mail védett]:dirlist.txt # ellenőrizze a tartalmát a cat dirlist.txt fájlban

  • [e-mail védett]- felhasználónév és távoli gazdagép,
  • . (pont) azt jelenti, hogy a fájlt a távoli szerver aktuális munkakönyvtárába kell másolni, miközben a fájlnév változatlan marad, azaz nfile.txt
  • Emlékeztető:

    Fájl másolása B-ből A-ba, miközben be van jelentkezve B-be:
    scp /útvonal/fájlhoz [e-mail védett]:/út/út/cél
    Fájl másolása B-ből A-ba, amikor bejelentkezett A-ba:
    scp [e-mail védett]:/elérési út/fájlhoz /útvonal/célhoz

    sftp

    A második program a fájlok másolására SSH-n keresztül sftp. Ahogy a neve is sugallja, biztonságosan helyettesítheti az ftp-programokat. Az sftp ugyanúgy működik, mint az eredeti ftp program. Azonban ahelyett, hogy tiszta szöveget küldene, titkosított SSH-alagutat használ. Az sftp fontos előnye az ftp-vel szemben, hogy nem igényel futó FTP-kiszolgálót a távoli gazdagépen. Csak SSH szerver kell hozzá. Ez azt jelenti, hogy bármely távoli gép, amely SSH-kliensen keresztül csatlakozik, FTP-szerű szerverként is használható. Íme egy példa munkamenet:

    [e-mail védett]~$sftp [e-mail védett] Csatlakozva a 192.168.1.36-hoz. sftp> ls dirlist.txt newfile.txt nfile.txt temp Videodokumentumok Letöltések Képek Zene Nyilvános asztali sablonok sftp> lls dirlist.txt nfile.txt sftp> ls temp temp/TakeMeHome sftp> cd temp/TakeMeHome sftp> cd temp/Get/Mehoftme mial/temp/TakeMeHome to TakeMeHome sftp> bye

    Az SFTP protokollt a Linux disztribúciókban található számos grafikus fájlkezelő támogatja. A Nautilus (GNOME) és a Konqueror (KDE) használatával egyaránt megadhatjuk az sftp://-től kezdődő URI-kat (hivatkozásokat) az ugrósávban, és dolgozhatunk egy SSH-kiszolgálót futtató távoli rendszeren található fájlokkal.

    Ha hibát észlel, jelöljön ki egy szövegrészt, és nyomja meg a Ctrl + Enter billentyűket
    OSSZA MEG: