Megosztás a következőn keresztül:


Csatlakozás a HDInsighthoz (Apache Hadoop) az SSH használatával

Megtudhatja, hogyan csatlakozhat biztonságosan az Apache Hadoophoz az Azure HDInsightban a Secure Shell (SSH) használatával. A virtuális hálózaton keresztüli csatlakozással kapcsolatos információkért tekintse meg az Azure HDInsight virtuális hálózati architektúrát. Lásd még: Az Azure HDInsight-fürtök virtuális hálózati üzembe helyezésének megtervezése.

Az alábbi táblázat tartalmazza a HDInsighthoz SSH-ügyféllel való csatlakozáshoz szükséges címet és portinformációkat:

Cím Kikötő Csatlakozik...
<clustername>-ssh.azurehdinsight.net 22 Elsődleges fejcsomópont
<clustername>-ssh.azurehdinsight.net 23 Másodlagos átjárócsomópont
<edgenodename>.<clustername>-ssh.azurehdinsight.net 22 peremcsomópont (bármely más fürttípus, ha létezik peremcsomópont)

Cserélje le a <clustername> elemet a fürt nevére. Cserélje le <edgenodename> az élcsomópont nevére.

Ha a fürt élcsomópontot tartalmaz, javasoljuk, hogy mindig SSH használatával csatlakozzon az élcsomóponthoz. A fő csomópontok olyan szolgáltatásokat üzemeltetnek, amelyek kritikus fontosságúak a Hadoop állapota szempontjából. A peremcsomópont csak azt futtatja, amit te helyeztél rá. További információ az élcsomópontok használatáról: Élcsomópontok használata a HDInsightban.

Jótanács

Amikor először csatlakozik a HDInsighthoz, lehetséges, hogy az SSH-ügyfél figyelmeztetést jelenít meg, hogy a gazdagép hitelessége nem igazolható. Amikor a rendszer kéri, válassza az "igen" lehetőséget, hogy hozzáadja a gazdagépet az SSH-ügyfél megbízható kiszolgálólistájához.

Ha korábban ugyanahhoz a kiszolgálóhoz csatlakozott, figyelmeztetést kaphat arról, hogy a tárolt gazdagépkulcs nem egyezik meg a kiszolgáló gazdagépkulcsával. Az SSH-ügyfél dokumentációjában megtudhatja, hogyan távolíthatja el a kiszolgálónév meglévő bejegyzését.

SSH-ügyfelek

Linux, Unix és macOS rendszerek biztosítják a ssh és scp parancsokat. Az ssh ügyfelet gyakran használják távoli parancssori munkamenetek linuxos vagy Unix-alapú rendszerekkel való létrehozására. Az scp ügyfél használatával biztonságosan másolhat fájlokat az ügyfél és a távoli rendszer között.

A Microsoft Windows alapértelmezés szerint nem telepít SSH-ügyfeleket. A ssh és scp ügyfelek Windowshoz az alábbi csomagokon keresztül érhetők el.

Számos grafikus SSH-ügyfél is létezik, például a PuTTY és a MobaXterm. Bár ezek az ügyfelek a HDInsighthoz való csatlakozáshoz használhatók, a kapcsolódás folyamata eltér a ssh segédprogramtól. További információkért tekintse meg a használt grafikus ügyfél dokumentációját.

Hitelesítés: SSH-kulcsok

Az SSH-kulcsok nyilvános kulcsú titkosítást használnak az SSH-munkamenetek hitelesítéséhez. Az SSH-kulcsok biztonságosabbak, mint a jelszavak, és egyszerűen biztosítják a Hadoop-fürthöz való hozzáférést.

Ha az SSH-fiókot kulcs védi, az ügyfélnek meg kell adnia a megfelelő titkos kulcsot a csatlakozáskor:

  • A legtöbb ügyfél konfigurálható úgy, hogy alapértelmezett kulcsot használjon. A(z) ssh ügyfél például egy titkos kulcsot keres a(z) ~/.ssh/id_rsa Linux- és Unix-környezetekben.

  • Megadhatja a titkos kulcs elérési útját. Az ssh ügyfélnél a -i paraméterrel adhatja meg a titkos kulcs elérési útját. Például: ssh -i ~/.ssh/id_rsa sshuser@myedge.mycluster-ssh.azurehdinsight.net.

  • Ha több titkos kulcsot használ a különböző kiszolgálókhoz, fontolja meg egy olyan segédprogram használatát, mint az ssh-agent (https://en.wikipedia.org/wiki/Ssh-agent). A ssh-agent segédprogram segítségével automatikusan kiválaszthatja az SSH-munkamenetek létrehozásakor használni kívánt kulcsot.

Fontos

Ha jelszóval védi a titkos kulcsot, a kulcs használatakor be kell írnia a jelszót. Az olyan segédprogramok, mint például ssh-agent a jelszó gyorsítótárazása az Ön kényelme érdekében.

SSH-kulcspár létrehozása

ssh-keygen A parancs használatával nyilvános és titkos kulcsfájlokat hozhat létre. A következő parancs létrehoz egy 2048 bites RSA-kulcspárt, amely a HDInsighttal használható:

ssh-keygen -t rsa -b 2048

A rendszer a kulcslétrehozási folyamat során információkat kér. Például a kulcsok tárolásának helye vagy a jelszó használata. A folyamat befejezése után két fájl jön létre; egy nyilvános kulcs és egy titkos kulcs.

  • A nyilvános kulcs egy HDInsight-fürt létrehozásához használható. A nyilvános kulcs kiterjesztése a .pubkövetkező: .

  • A titkos kulcs használatával hitelesítheti az ügyfelet a HDInsight-fürtben.

Fontos

A kulcsokat jelszóval is biztonságossá teheti. A jelszó tulajdonképpen egy jelszó a titkos kulcson. Még akkor is, ha valaki beszerezi a titkos kulcsot, rendelkeznie kell a kulcs használatához szükséges jelszóval.

HDInsight létrehozása a nyilvános kulccsal

Létrehozási módszer A nyilvános kulcs használata
Azure Portal Törölje a jelölést a Fürtbejelentkezési jelszó használata az SSH-hoz opcióról, majd válassza a Nyilvános kulcs lehetőséget SSH-hitelesítési típusként. Végül jelölje ki a nyilvános kulcsfájlt, vagy illessze be a fájl szöveges tartalmát az SSH nyilvános kulcs mezőjébe.
Nyilvános SSH-kulcs párbeszédpanel a HDInsight-fürt létrehozásában.
Azure PowerShell Használja a -SshPublicKeyNew-AzHdinsightCluster parancsmag paraméterét, és sztringként adja át a nyilvános kulcs tartalmát.
Azure parancssori felület (CLI) Használja a --sshPublicKeyaz hdinsight create parancs paraméterét, és adja át a nyilvános kulcs tartalmát sztringként.
Resource Manager-sablon Az SSH-kulcsok sablonnal való használatára vonatkozó példa: A HDInsight üzembe helyezése Linuxon SSH-kulccsal. A publicKeysazuredeploy.json fájlban található elem a kulcsok Azure-ba való továbbítására szolgál a fürt létrehozásakor.

Hitelesítés: Jelszó

Az SSH-fiókok jelszóval védhetők. Amikor SSH használatával csatlakozik a HDInsighthoz, a rendszer kéri a jelszó megadását.

Figyelmeztetés

A Microsoft nem javasolja a jelszó-hitelesítés használatát az SSH-hoz. A jelszavak kitalálhatók, és sebezhetők a találgatásos támadásokkal szemben. Ehelyett azt javasoljuk, hogy SSH-kulcsokat használjon a hitelesítéshez.

Fontos

A HDInsight-fürt létrehozása után 70 nappal az SSH-fiók jelszava lejár. Ha a jelszó lejár, módosíthatja a HDInsight kezelése dokumentumban található információk alapján.

HDInsight létrehozása jelszóval

Létrehozási módszer Jelszó megadása
Azure Portal Alapértelmezés szerint az SSH-felhasználói fiók jelszava megegyezik a fürt bejelentkezési fiókjával. Ha másik jelszót szeretne használni, törölje a jelet az SSH fürt bejelentkezési jelszavának használata jelölőnégyzetből, majd írja be a jelszót az SSH jelszó mezőjébe.
SSH-jelszó párbeszédpanel a HDInsight-fürt létrehozásakor.
Azure PowerShell Használja a --SshCredentialNew-AzHdinsightCluster parancsmag paraméterét, és adjon át egy PSCredential objektumot, amely tartalmazza az SSH-felhasználói fiók nevét és jelszavát.
Azure parancssori felület (CLI) Használja a --ssh-password parancs paraméterét az hdinsight create , és adja meg a jelszó értékét.
Resource Manager-sablon Példa a jelszó sablonnal való használatára: A HDInsight üzembe helyezése Linuxon SSH-jelszóval. A linuxOperatingSystemProfileazuredeploy.json fájlban található elem az SSH-fiók nevének és jelszavának az Azure-nak való átadására szolgál a fürt létrehozásakor.

Az SSH-jelszó módosítása

Az SSH felhasználói fiók jelszavának módosításáról a HDInsight-dokumentum Jelszó módosítása szakaszában olvashat.

Hitelesítési tartományba csatlakozott HDInsight

Ha tartományhoz csatlakoztatott HDInsight-fürtöt használ, a parancsot az kinit SSH helyi felhasználójával való csatlakozás után kell használnia. Ez a parancssor tartományi felhasználót és jelszót kér, és hitelesíti a munkamenetet a fürthöz társított Microsoft Entra-tartománnyal.

A Kerberos-hitelesítést az egyes tartományhoz csatlakoztatott csomópontokon (például a fő csomóponton, az élcsomóponton) is engedélyezheti, hogy a tartományi fiók használatával ssh-t használjon. Az sshd konfigurációs fájl szerkesztéséhez tegye a következőt:

sudo vi /etc/ssh/sshd_config

komment törlése és módosítás KerberosAuthentication-ről yes-re

sudo service sshd restart

A parancs használatával klist ellenőrizze, hogy a Kerberos-hitelesítés sikeres volt-e.

További információ: Tartományhoz csatlakoztatott HDInsight konfigurálása.

Csatlakozás csomópontokhoz

A fő csomópontok és a peremcsomópont (ha van ilyen) az interneten keresztül érhető el a 22-23-ai porton.

  • Ha a fő csomópontokhoz csatlakozik, a 22-s portot használva csatlakozzon az elsődleges fejcsomóponthoz, a 23-at pedig a másodlagos fejcsomóponthoz. A használni kívánt teljesen minősített tartománynév clustername-ssh.azurehdinsight.net, ahol a clustername a fürt neve.

    # Connect to primary head node
    # port not specified since 22 is the default
    ssh sshuser@clustername-ssh.azurehdinsight.net
    
    # Connect to secondary head node
    ssh -p 23 sshuser@clustername-ssh.azurehdinsight.net
    
  • Amikor a peremcsomóponthoz csatlakozik, használja a 22-s portot. A teljes mértékben minősített tartománynév a edgenodename.clustername-ssh.azurehdinsight.net, ahol a edgenodename az a név, amelyet az élcsomópont létrehozásakor adtál meg. clustername a fürt neve.

    # Connect to edge node
    ssh sshuser@edgnodename.clustername-ssh.azurehdinsight.net
    

Fontos

Az előző példák feltételezik, hogy jelszó-hitelesítést használ, vagy hogy a tanúsítványhitelesítés automatikusan megtörténik. Ha SSH-kulcspárt használ a hitelesítéshez, és a tanúsítványt nem használja automatikusan, a -i paraméter használatával adja meg a titkos kulcsot. Például: ssh -i ~/.ssh/mykey sshuser@clustername-ssh.azurehdinsight.net.

A csatlakozás után a parancssor megváltozik, hogy jelezze az SSH-felhasználónevet és a csomópontot, amelyhez csatlakozik. Ha például az elsődleges főcsomóponthoz sshusercsatlakozik, a parancssor a következő sshuser@<active-headnode-name>:~$.

Csatlakozás feldolgozói és Apache Zookeeper-csomópontokhoz

A feldolgozó csomópontok és a Zookeeper-csomópontok nem érhetők el közvetlenül az internetről. Ezek a fürtfejcsomópontokról vagy az élcsomópontokról érhetők el. A többi csomóponthoz való csatlakozás általános lépései a következők:

  1. SSH használatával csatlakozzon egy fej- vagy élcsomóponthoz:

    ssh sshuser@myedge.mycluster-ssh.azurehdinsight.net
    
  2. Az SSH-kapcsolatból a fej- vagy élcsomóponthoz való csatlakozáshoz használja a ssh parancsot a fürt egyik feldolgozó csomópontjához:

    ssh sshuser@wn0-myhdi
    

    A csomópontnevek listájának lekéréséhez tekintse meg a HDInsight kezelését az Apache Ambari REST API-dokumentum használatával .

Ha az SSH-fiók jelszóval van védve, csatlakozáskor adja meg a jelszót.

Ha az SSH-fiók SSH-kulcsokkal van védve, győződjön meg arról, hogy az SSH-továbbítás engedélyezve van az ügyfélen.

Megjegyzés

A fürt összes csomópontjának közvetlen elérésének másik módja, ha a HDInsight-ot egy Azure-beli virtuális hálózatba telepítjük. Ezután csatlakoztathatja a távoli gépét ugyanahhoz a virtuális hálózathoz, és közvetlenül elérheti a fürt összes csomópontját.

További információ: A HDInsightvirtuális hálózatának tervezése.

SSH-ügynöktovábbítás konfigurálása

Fontos

Az alábbi lépések linuxos vagy UNIX-alapú rendszert feltételeznek, és a Bash használata Windows 10 rendszeren. Ha ezek a lépések nem működnek a rendszer számára, előfordulhat, hogy az SSH-ügyfél dokumentációjában kell keresnie.

  1. A ~/.ssh/config szövegszerkesztővel nyissa meg. Ha ez a fájl nem létezik, parancssori beírással touch ~/.ssh/config hozhatja létre.

  2. Adja hozzá a következő szöveget az config fájlhoz.

    Host <edgenodename>.<clustername>-ssh.azurehdinsight.net
        ForwardAgent yes
    

    Cserélje le a gazdagép adatait az SSH-hoz csatlakozó csomópont címére. Az előző példa a peremcsomópontot használja. Ez a bejegyzés konfigurálja az SSH-ügynök továbbítását a megadott csomóponthoz.

  3. Tesztelje az SSH-ügynök továbbítását a terminál következő parancsával:

    echo "$SSH_AUTH_SOCK"
    

    Ez a parancs az alábbi szöveghez hasonló információt ad vissza:

    /tmp/ssh-rfSUL1ldCldQ/agent.1792
    

    Ha nem ad vissza semmit, akkor ssh-agent nem fut.

  4. Miután ellenőrizte, hogy az ssh-ügynök fut-e , az alábbiak segítségével adja hozzá az SSH titkos kulcsát az ügynökhöz:

    ssh-add ~/.ssh/id_rsa
    

    Ha a titkos kulcs egy másik fájlban van tárolva, cserélje le ~/.ssh/id_rsa a fájl elérési útját.

  5. Csatlakozzon a fürt élcsomópontjaihoz vagy a fő csomópontokhoz az SSH használatával. Ezután az SSH-paranccsal csatlakozhat egy feldolgozói vagy zookeeper-csomóponthoz. A kapcsolat a továbbított kulccsal jön létre.

Következő lépések