Bevezetés
az OpenSSH hatékony eszközgyűjtemény a hálózati számítógépek közötti adatátvitelhez. Az OpenSSH server alkalmazás segítségével megismerheti néhány lehetséges konfigurációs beállítást, valamint azt is, hogyan változtathatja meg őket az Ubuntu rendszeren.
az OpenSSH a Secure Shell (SSH) protokollcsalád szabadon elérhető verziója a számítógépek közötti fájlok távoli vezérlésére vagy átvitelére. Az ilyen funkciók-például a telnet vagy az rcp-végrehajtásához használt hagyományos eszközök nem biztonságosak, ezért használat közben a felhasználó jelszavát cleartext-ben továbbítja. Az OpenSSH szerver démon és kliens eszközöket biztosít a biztonságos, titkosított távirányító és fájlátviteli műveletek megkönnyítésére, hatékonyan helyettesítve a régi eszközöket.
az OpenSSH server komponens, az sshd folyamatosan figyeli az ügyfélkapcsolatokat bármelyik kliens eszközről. Amikor csatlakozási kérés történik, az sshd a megfelelő kapcsolatot állítja be a kliens eszköz csatlakoztatásának típusától függően. Ha például a távoli számítógép csatlakozik az ssh kliens alkalmazáshoz, az OpenSSH szerver a hitelesítés után távvezérlési munkamenetet állít be. Ha egy távoli felhasználó csatlakozik egy OpenSSH kiszolgálóhoz az scp segítségével, az OpenSSH server démon a hitelesítés után biztonságos fájlmásolatot kezdeményez a szerver és az ügyfél között. Az OpenSSH számos hitelesítési módszert használhat, beleértve a sima jelszót, a nyilvános kulcsot és a Kerberos jegyeket.
telepítés
az OpenSSH kliens és szerver alkalmazások telepítése egyszerű. Telepítsük az OpenSSH kliens alkalmazások az Ubuntu rendszer, használja ezt a parancsot egy terminál parancssor:
sudo apt install openssh-client
telepíteni az OpenSSH server alkalmazás valamint a kapcsolódó támogatja fájlok, használja ezt a parancsot egy terminál parancssor:
sudo apt install openssh-server
Beállítások
lehet beállítani az alapértelmezett viselkedés az OpenSSH szerver alkalmazás, sshd, által a fájl szerkesztése /etc/ssh/sshd_config
. További információk a konfigurációs irányelvek használják ezt a fájlt, lehet, megtekintheti a megfelelő man oldalt a következő paranccsal kiadott egy terminál parancssor:
man sshd_config
sok irányelvek az sshd konfigurációs fájl ellenőrzése olyan dolgok, mint a kommunikációs beállítások, majd a hitelesítési mód. A következő példák a konfigurációs irányelvekre, amelyek megváltoztathatók a /etc/ssh/sshd_config
fájl szerkesztésével.
Tip
a konfigurációs fájl szerkesztése előtt készítsen egy másolatot az eredeti fájlról, és védje meg az írástól, hogy az eredeti beállításokat hivatkozásként használja, és szükség szerint újrafelhasználhassa.
másolja át a
/etc/ssh/sshd_config
fájlt, és védje meg a következő parancsokkal történő írástól, amelyet egy terminal prompt-ban adtak ki:sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.originalsudo chmod a-w /etc/ssh/sshd_config.original
Továbbá mivel egy ssh-kiszolgáló elvesztése azt jelentheti, hogy elveszíti az utat a szerver eléréséhez, ellenőrizze a konfigurációt annak megváltoztatása után, mielőtt a szerver újraindítása:
sudo sshd -t -f /etc/ssh/sshd_config
A következő példák a konfigurációs irányelvek lehet változtatni:
- annak beállításához, Hogy a OpenSSH, hogy figyelj a TCP port 2222, ahelyett, hogy az alapértelmezett TCP port 22, változnak a Kikötői irányelv, mint például:
Port 2222
- a OpenSSH server jelenítse meg a tartalmát a
/etc/issue.net
fájl, mint egy előzetes bejelentkezés banner, egyszerűen hozzáadása vagy módosítása, ezt a sort a/etc/ssh/sshd_config
fájl:
Banner /etc/issue.net
a /etc/ssh/sshd_config
fájl módosítása után mentse el a fájlt, majd indítsa újra az sshd server alkalmazást, hogy a változtatásokat a következő parancs segítségével végezze el egy terminálsoron:
sudo systemctl restart sshd.service
warning
sok más konfigurációs irányelvek sshd állnak változtatni a szerver alkalmazás viselkedését, hogy megfeleljen az Ön igényeinek. Ha azonban a szerverhez való hozzáférés egyetlen módja az ssh, és hibát követ el az sshd konfigurálásában a
/etc/ssh/sshd_config
fájlon keresztül, előfordulhat, hogy az újraindítás után ki van zárva a szerverről. Továbbá, ha helytelen konfigurációs irányelv érkezik, az sshd szerver megtagadhatja az indítást, ezért legyen különösen óvatos, ha ezt a fájlt távoli kiszolgálón szerkeszti.
SSH Keys
SSH engedélyezze a hitelesítést két gazda között jelszó nélkül. Az SSH kulcs hitelesítése privát kulcsot és nyilvános kulcsot használ.
a billentyűk generálásához egy terminálsorból írja be:
ssh-keygen -t rsa
Ez generálja a kulcsokat az RSA algoritmus segítségével. Az írás idején a generált kulcsok 3072 bittel rendelkeznek. A bitek számát a -b
opcióval módosíthatja. Például 4096 bites kulcsok létrehozásához a következőket teheti:
ssh-keygen -t rsa -b 4096
a folyamat során jelszót kér. Egyszerűen nyomja meg az Enter billentyűt, amikor kéri a kulcs létrehozását.
alapértelmezés szerint a nyilvános kulcs a ~/.ssh/id_rsa.pub
fájlba kerül, míg a ~/.ssh/id_rsa
a privát kulcs. Most másolja át a id_rsa.pub
fájlt a távoli gazdagépre, majd csatolja azt a ~/.ssh/authorized_keys
– hoz, beírva:
ssh-copy-id username@remotehost
végül ellenőrizze duplán a authorized_keys
fájl engedélyeit, csak a Hitelesített felhasználó kellett volna írni-olvasni jogosultságokat. Ha az engedélyek nem helyesek, változtassa meg őket:
chmod 600 .ssh/authorized_keys
most már képesnek kell lennie arra, hogy SSH-t küldjön a gazdagépnek anélkül, hogy jelszót kérne.
kulcsok importálása a nyilvános kulcstartókból
manapság sok felhasználó már regisztrált ssh kulcsokat olyan szolgáltatásokkal, mint a launchpad vagy a github. Azok könnyen importálhatók a:
ssh-import-id <username-on-remote-service>
Az előtag lp:
hallgatólagos, illetve azt jelenti, elragadó a launchpad, az alternatív gh:
lesz, hogy az eszköz hozza a github helyett.
kétfaktoros hitelesítés U2F/FIDO
OpenSSH 8.2 Hozzáadott támogatása U2F/FIDO hardver hitelesítési eszközök. Ezeket az eszközöket arra használják, hogy extra biztonsági réteget biztosítsanak a meglévő kulcsalapú hitelesítés tetején, mivel a hardver tokennek jelen kell lennie a hitelesítés befejezéséhez.
nagyon egyszerűen használható és beállítható. Az egyetlen extra lépés egy új billentyűzet létrehozása, amelyet a hardver eszközzel lehet használni. Ehhez két kulcstípus használható: ecdsa-sk
és ed25519-sk
. Az előbbi szélesebb hardver támogatással rendelkezik, míg az utóbbinak szüksége lehet egy újabb eszközre.
miután a keypair keletkezik, akkor lehet használni, mint akkor általában bármilyen más típusú kulcs openssh. Az egyetlen követelmény az, hogy a privát kulcs használatához az U2F eszköznek jelen kell lennie a gazdagépen.
például dugja be az U2F eszközt, és hozzon létre egy billentyűzetet a használatához:
$ ssh-keygen -t ecdsa-skGenerating public/private ecdsa-sk key pair.You may need to touch your authenticator to authorize key generation. <-- touch deviceEnter file in which to save the key (/home/ubuntu/.ssh/id_ecdsa_sk): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/ubuntu/.ssh/id_ecdsa_skYour public key has been saved in /home/ubuntu/.ssh/id_ecdsa_sk.pubThe key fingerprint is:SHA256:V9PQ1MqaU8FODXdHqDiH9Mxb8XK3o5aVYDQLVl9IFRo ubuntu@focal
most csak helyezze át a nyilvános részt a kiszolgálóra ~/.ssh/authorized_keys
és készen áll a továbblépésre:
$ ssh -i .ssh/id_ecdsa_sk [email protected] user presence for key ECDSA-SK SHA256:V9PQ1MqaU8FODXdHqDiH9Mxb8XK3o5aVYDQLVl9IFRo <-- touch deviceWelcome to Ubuntu Focal Fossa (GNU/Linux 5.4.0-21-generic x86_64)(...)[email protected]:~$