Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Pelajari cara menggunakan Secure Shell (SSH) untuk terhubung dengan aman ke Apache Hadoop di Azure HDInsight. Untuk informasi tentang menyambungkan melalui jaringan virtual, lihat Arsitektur jaringan virtual Azure HDInsight. Lihat juga, Merencanakan penyebaran jaringan virtual untuk kluster Azure HDInsight.
Tabel berikut berisi alamat dan informasi port yang diperlukan saat menyambungkan ke HDInsight menggunakan klien SSH:
| Alamat | Pelabuhan | Menyambungkan ke... |
|---|---|---|
<clustername>-ssh.azurehdinsight.net |
22 | Headnode utama |
<clustername>-ssh.azurehdinsight.net |
23 | Headnode Sekunder |
<edgenodename>.<clustername>-ssh.azurehdinsight.net |
22 | simpul tepi (jenis kluster lainnya, jika ada simpul tepi) |
Ganti <clustername> dengan nama kluster Anda. Ganti <edgenodename> dengan nama simpul tepi.
Jika kluster Anda berisi simpul tepi, kami sarankan Anda selalu terhubung ke simpul tepi menggunakan SSH. Simpul induk menyelenggarakan layanan yang sangat penting bagi kesehatan Hadoop. Simpul tepi hanya menjalankan apa yang Anda letakkan di atasnya. Untuk informasi selengkapnya tentang menggunakan simpul tepi, lihat Menggunakan simpul tepi di HDInsight.
Petunjuk
Ketika Anda pertama kali terhubung ke HDInsight, klien SSH Anda dapat menampilkan peringatan bahwa keaslian host tidak dapat dibuat. Ketika diminta pilih 'ya' untuk menambahkan host ke daftar server tepercaya klien SSH Anda.
Jika sebelumnya Anda telah tersambung ke server dengan nama yang sama, Anda mungkin menerima peringatan bahwa kunci host yang disimpan tidak cocok dengan kunci host server. Lihat dokumentasi untuk klien SSH Anda tentang cara menghapus entri yang ada untuk nama server.
Klien SSH
Sistem Linux, Unix, dan macOS menyediakan ssh perintah dan scp . Klien ssh biasanya digunakan untuk membuat sesi baris perintah jarak jauh dengan sistem berbasis Linux atau Unix. Klien scp digunakan untuk menyalin file dengan aman antara klien Anda dan sistem jarak jauh.
Microsoft Windows tidak menginstal klien SSH apa pun secara default. Klien ssh dan scp tersedia untuk Windows melalui paket berikut:
Klien OpenSSH. Klien ini adalah fitur opsional yang diperkenalkan dalam Windows 10 Fall Creators Update.
Azure Cloud Shell. Cloud Shell menyediakan lingkungan Bash di browser Anda.
Git.
Ada juga beberapa klien SSH grafis, seperti PuTTY dan MobaXterm. Meskipun klien ini dapat digunakan untuk terhubung ke HDInsight, proses menyambungkan berbeda dari menggunakan ssh utilitas. Untuk informasi selengkapnya, lihat dokumentasi klien grafis yang Anda gunakan.
Autentikasi: Kunci SSH
Kunci SSH menggunakan kriptografi kunci publik untuk mengautentikasi sesi SSH. Kunci SSH lebih aman daripada kata sandi, dan menyediakan cara mudah untuk mengamankan akses ke kluster Hadoop Anda.
Jika akun SSH Anda diamankan menggunakan kunci, klien harus menyediakan kunci privat yang cocok saat Anda terhubung:
Sebagian besar klien dapat dikonfigurasi untuk menggunakan kunci default. Misalnya,
sshklien mencari kunci privat di~/.ssh/id_rsalingkungan Linux dan Unix.Anda dapat menentukan jalur ke kunci privat.
sshklien, parameter-idigunakan untuk menentukan jalur ke kunci privat. Contohnya,ssh -i ~/.ssh/id_rsa sshuser@myedge.mycluster-ssh.azurehdinsight.net.Jika Anda memiliki beberapa kunci privat untuk digunakan dengan server yang berbeda, pertimbangkan untuk menggunakan utilitas seperti ssh-agent (https://en.wikipedia.org/wiki/Ssh-agent).
ssh-agentUtilitas dapat digunakan untuk memilih kunci yang akan digunakan secara otomatis saat membuat sesi SSH.
Penting
Jika Anda mengamankan kunci privat dengan frasa sandi, Anda harus memasukkan frasa sandi saat menggunakan kunci. Utilitas seperti ssh-agent dapat menyimpan kata sandi untuk kenyamanan Anda.
Membuat pasangan kunci SSH
ssh-keygen Gunakan perintah untuk membuat file kunci publik dan privat. Perintah berikut menghasilkan pasangan kunci RSA 2048-bit yang dapat digunakan dengan HDInsight:
ssh-keygen -t rsa -b 2048
Anda diminta memberikan informasi selama proses pembuatan kunci. Misalnya, di mana kunci disimpan atau apakah akan menggunakan frasa sandi. Setelah proses selesai, dua file dibuat; kunci publik dan kunci privat.
Kunci publik digunakan untuk membuat kluster HDInsight. Kunci publik memiliki ekstensi
.pub.Kunci privat digunakan untuk mengautentikasi klien Anda ke kluster HDInsight.
Penting
Anda dapat mengamankan kunci menggunakan frase sandi. Frase sandi secara efektif merupakan kata sandi pada kunci privat Anda. Bahkan jika seseorang mendapatkan kunci privat Anda, mereka harus memiliki frase sandi untuk menggunakan kunci.
Membuat HDInsight menggunakan kunci publik
| Metode Pembuatan | Cara menggunakan kunci publik |
|---|---|
| Portal Microsoft Azure | Hapus centang Gunakan kata sandi masuk kluster untuk SSH, lalu pilih Kunci Umum sebagai jenis autentikasi SSH. Terakhir, pilih file kunci publik atau tempelkan konten teks file di bidang kunci publik SSH .
|
| Azure PowerShell |
-SshPublicKey Gunakan parameter cmdlet New-AzHdinsightCluster dan teruskan konten kunci publik sebagai string. |
| Azure CLI (antarmuka baris perintah) | Gunakan parameter --sshPublicKey dari perintah az hdinsight create dan masukkan konten kunci publik sebagai string. |
| Template Pengelola Sumber Daya | Untuk contoh penggunaan kunci SSH dengan templat, lihat Menyebarkan HDInsight di Linux dengan kunci SSH. Elemen publicKeys dalam file azuredeploy.json digunakan untuk meneruskan kunci ke Azure saat membuat kluster. |
Autentikasi: Kata sandi
Akun SSH dapat diamankan menggunakan kata sandi. Saat Anda tersambung ke HDInsight menggunakan SSH, Anda diminta untuk memasukkan kata sandi.
Peringatan
Microsoft tidak merekomendasikan penggunaan autentikasi kata sandi untuk SSH. Kata sandi dapat ditebak dan rentan terhadap serangan brute force. Sebagai gantinya, kami sarankan Anda menggunakan kunci SSH untuk autentikasi.
Penting
Kata sandi akun SSH kedaluwarsa 70 hari setelah kluster HDInsight dibuat. Jika kata sandi Anda kedaluwarsa, Anda dapat mengubahnya menggunakan informasi di dokumen Kelola HDInsight .
Membuat HDInsight menggunakan kata sandi
| Metode Pembuatan | Cara menentukan kata sandi |
|---|---|
| Portal Microsoft Azure | Secara default, akun pengguna SSH memiliki kata sandi yang sama dengan akun masuk kluster. Untuk menggunakan kata sandi yang berbeda, hapus centang Gunakan kata sandi masuk kluster untuk SSH, lalu masukkan kata sandi di bidang kata sandi SSH .
|
| Azure PowerShell |
--SshCredential Gunakan parameter cmdlet New-AzHdinsightCluster dan berikan PSCredential objek yang berisi nama dan kata sandi akun pengguna SSH. |
| Azure CLI (antarmuka baris perintah) | Gunakan parameter --ssh-password dari perintah az hdinsight create dan berikan nilai kata sandi. |
| Template Pengelola Sumber Daya | Untuk contoh penggunaan kata sandi dengan templat, lihat Menyebarkan HDInsight di Linux dengan kata sandi SSH. Elemen linuxOperatingSystemProfile dalam file azuredeploy.json digunakan untuk meneruskan nama akun dan kata sandi SSH ke Azure saat membuat kluster. |
Mengubah kata sandi SSH
Untuk informasi tentang mengubah kata sandi akun pengguna SSH, lihat bagian Ubah kata sandi dari dokumen Kelola HDInsight .
Domain autentikasi bergabung dengan HDInsight
Jika Anda menggunakan kluster HDInsight yang bergabung dengan domain, Anda harus menggunakan perintah kinit setelah menyambungkan dengan pengguna lokal SSH. Perintah ini meminta pengguna domain dan kata sandi, dan mengautentikasi sesi Anda dengan domain Microsoft Entra yang terkait dengan kluster.
Anda juga dapat mengaktifkan Autentikasi Kerberos pada setiap simpul yang bergabung dengan domain (misalnya, simpul kepala, simpul tepi) untuk menggunakan ssh dengan akun domain. Untuk melakukan ini, edit file konfigurasi sshd:
sudo vi /etc/ssh/sshd_config
batalkan komentar dan ubah KerberosAuthentication menjadi yes
sudo service sshd restart
Gunakan klist perintah untuk memverifikasi apakah autentikasi Kerberos berhasil.
Untuk informasi selengkapnya, lihat Mengonfigurasi HDInsight yang bergabung dengan domain.
Menyambungkan ke simpul
Simpul kepala dan simpul tepi (jika ada) dapat diakses melalui internet pada port 22 dan 23.
Saat menyambungkan ke simpul kepala, gunakan port 22 untuk menyambungkan ke simpul kepala utama dan port 23 untuk menyambungkan ke simpul kepala sekunder. Nama domain yang sepenuhnya memenuhi syarat untuk digunakan adalah
clustername-ssh.azurehdinsight.net, di manaclusternameadalah nama kluster Anda.# 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.netSaat menyambungkan ke simpul tepi, gunakan port 22. Nama domain yang sepenuhnya memenuhi syarat adalah
edgenodename.clustername-ssh.azurehdinsight.net, di manaedgenodenameadalah nama yang Anda berikan saat membuat simpul tepi.clusternameadalah nama kluster.# Connect to edge node ssh sshuser@edgnodename.clustername-ssh.azurehdinsight.net
Penting
Contoh sebelumnya mengasumsikan bahwa Anda menggunakan autentikasi kata sandi, atau bahwa autentikasi sertifikat terjadi secara otomatis. Jika Anda menggunakan pasangan kunci SSH untuk autentikasi, dan sertifikat tidak digunakan secara otomatis, gunakan -i parameter untuk menentukan kunci privat. Contohnya, ssh -i ~/.ssh/mykey sshuser@clustername-ssh.azurehdinsight.net.
Setelah tersambung, perintah berubah untuk menunjukkan nama pengguna SSH dan node yang tersambung dengan Anda. Misalnya, ketika terhubung ke node kepala utama dengan nama sshuser, promptnya adalah sshuser@<active-headnode-name>:~$.
Hubungkan ke simpul pekerja dan Apache Zookeeper
Simpul pekerja dan simpul Zookeeper tidak dapat diakses langsung dari internet. Mereka dapat diakses dari node kepala kluster atau simpul tepi. Berikut ini adalah langkah-langkah umum untuk menyambungkan ke simpul lain:
Gunakan SSH untuk menyambungkan ke simpul kepala atau tepi:
ssh sshuser@myedge.mycluster-ssh.azurehdinsight.netDari koneksi SSH ke simpul utama atau tepi, gunakan perintah
sshuntuk menghubungkan ke simpul pekerja di kluster.ssh sshuser@wn0-myhdiUntuk mengambil daftar nama node, lihat dokumen Kelola HDInsight dengan menggunakan Apache Ambari REST API .
Jika akun SSH diamankan menggunakan kata sandi, masukkan kata sandi saat menyambungkan.
Jika akun SSH diamankan menggunakan kunci SSH, pastikan penerusan SSH diaktifkan pada klien.
Nota
Cara lain untuk langsung mengakses semua simpul dalam kluster adalah dengan menginstal HDInsight ke Azure Virtual Network. Kemudian, Anda dapat bergabung dengan komputer jarak jauh Anda ke jaringan virtual yang sama dan langsung mengakses semua simpul dalam kluster.
Untuk informasi selengkapnya, lihat Merencanakan jaringan virtual untuk HDInsight.
Mengonfigurasi penerusan agen perantara SSH
Penting
Langkah-langkah berikut mengasumsikan sistem berbasis Linux atau UNIX, dan bekerja dengan Bash di Windows 10. Jika langkah-langkah ini tidak berfungsi untuk sistem Anda, Anda mungkin perlu berkonsultasi dengan dokumentasi untuk klien SSH Anda.
Menggunakan editor teks, buka
~/.ssh/config. Jika file ini tidak ada, Anda dapat membuatnya dengan memasukkannyatouch ~/.ssh/configdi baris perintah.Tambahkan kode berikut ke file
config.Host <edgenodename>.<clustername>-ssh.azurehdinsight.net ForwardAgent yesGanti informasi Host dengan alamat simpul yang Anda sambungkan menggunakan SSH. Contoh sebelumnya menggunakan simpul tepi. Entri ini mengonfigurasi penerusan agen SSH untuk simpul yang ditentukan.
Uji penerusan agen SSH dengan menggunakan perintah berikut dari terminal:
echo "$SSH_AUTH_SOCK"Perintah ini mengembalikan informasi yang mirip dengan teks berikut:
/tmp/ssh-rfSUL1ldCldQ/agent.1792Jika tidak ada yang dikembalikan, maka
ssh-agenttidak berjalan.Setelah Anda memverifikasi bahwa ssh-agent berjalan, gunakan yang berikut ini untuk menambahkan kunci privat SSH Anda ke agen:
ssh-add ~/.ssh/id_rsaJika kunci privat Anda disimpan dalam file yang berbeda, ganti
~/.ssh/id_rsadengan jalur ke file.Sambungkan ke node tepi kluster atau simpul kepala menggunakan SSH. Kemudian, gunakan perintah SSH untuk menyambungkan ke node pekerja atau Zookeeper. Koneksi dibuat menggunakan kunci yang diteruskan.

