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.
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:
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
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.
A kulcsalapú hitelesítés gyakran sokkal biztonságosabb, mint a jelszóval történő bejelentkezés egy távoli rendszerbe.
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.
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 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.
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.
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).
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
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 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:
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:
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
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
Ö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:
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
A biztonság javítása érdekében:
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:
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.
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.
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:
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ásaHa 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-hozCsatlakozá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:
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ülA 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 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
sftpFá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
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.