Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure HDInsight üzerinde Apache Hadoop'a güvenli bir şekilde bağlanmak için Secure Shell (SSH) kullanmayı öğrenin. Sanal ağ üzerinden bağlanma hakkında bilgi için bkz. Azure HDInsight sanal ağ mimarisi. Ayrıca bkz. Azure HDInsight kümeleri için sanal ağ dağıtımı planlama.
Aşağıdaki tablo, SSH istemcisi kullanarak HDInsight'a bağlanırken gereken adres ve bağlantı noktası bilgilerini içerir:
Adres | Liman | Bağlanıyor... |
---|---|---|
<clustername>-ssh.azurehdinsight.net |
22 | Birincil baş düğüm |
<clustername>-ssh.azurehdinsight.net |
23 | İkincil baş düğüm |
<edgenodename>.<clustername>-ssh.azurehdinsight.net |
22 | kenar düğümü (kenar düğümü varsa başka bir küme türü) |
<clustername>
değerini kümenizin adıyla değiştirin. yerine kenar düğümünün adını yazın <edgenodename>
.
Kümeniz bir kenar düğümü içeriyorsa, her zaman SSH kullanarak kenar düğümüne bağlanmanızı öneririz. Baş düğümler, Hadoop'un durumu için kritik olan hizmetleri barındırıyor. Kenar düğümü yalnızca üzerine yerleştirdiğiniz şeyi çalıştırır. Kenar düğümlerini kullanma hakkında daha fazla bilgi için bkz. HDInsight'ta kenar düğümlerini kullanma.
Tavsiye
HDInsight'a ilk kez bağlandığınızda, SSH istemciniz konağın orijinalliği doğrulanamaz uyarısı verebilir. İstendiğinde konağı SSH istemcinizin güvenilen sunucu listesine eklemek için 'evet' seçeneğini belirleyin.
Daha önce aynı ada sahip bir sunucuya bağlandıysanız, depolanan ana bilgisayar anahtarının sunucunun konak anahtarıyla eşleşmediğini belirten bir uyarı alabilirsiniz. Sunucu adı için var olan girdiyi kaldırma hakkında SSH istemcinizin belgelerine bakın.
SSH istemcileri
Linux, Unix ve macOS sistemleri ssh
ve scp
komutlarını sağlar. İstemci ssh
genellikle Linux veya Unix tabanlı bir sistemle uzak komut satırı oturumu oluşturmak için kullanılır. İstemci scp
, istemcinizle uzak sistem arasında dosyaları güvenli bir şekilde kopyalamak için kullanılır.
Microsoft Windows varsayılan olarak herhangi bir SSH istemcisi yüklemez.
ssh
ve scp
istemcileri aşağıdaki paketler aracılığıyla Windows için kullanılabilir:
OpenSSH İstemcisi. Bu istemci, Windows 10 Fall Creators Update'te kullanıma sunulan isteğe bağlı bir özelliktir.
Azure Cloud Shell. Cloud Shell, tarayıcınızda bir Bash ortamı sağlar.
Git.
PuTTY ve MobaXterm gibi çeşitli grafik SSH istemcileri de vardır. Bu istemciler HDInsight'a bağlanmak için kullanılabilse de, bağlanma işlemi yardımcı programı kullanmaktan ssh
farklıdır. Daha fazla bilgi için kullandığınız grafik istemcisinin belgelerine bakın.
Kimlik Doğrulaması: SSH Anahtarları
SSH anahtarları, SSH oturumlarının kimliğini doğrulamak için ortak anahtar şifrelemesi kullanır. SSH anahtarları parolalardan daha güvenlidir ve Hadoop kümenize erişimi güvenli hale getirmek için kolay bir yol sağlar.
SSH hesabınızın güvenliği bir anahtar kullanılarak sağlanıyorsa, bağlandığınızda istemcinin eşleşen özel anahtarı sağlaması gerekir:
çoğu istemci varsayılan anahtarı kullanacak şekilde yapılandırılabilir. Örneğin,
ssh
istemci Linux ve Unix ortamlarında bir özel anahtar~/.ssh/id_rsa
arar.Özel anahtarın yolunu belirtebilirsiniz.
ssh
istemcisi ile,-i
parametresi, özel anahtarın yolunu belirtmek için kullanılır. Örneğin,ssh -i ~/.ssh/id_rsa sshuser@myedge.mycluster-ssh.azurehdinsight.net
.Farklı sunucularla kullanmak için birden çok özel anahtarınız varsa , ssh-agent (https://en.wikipedia.org/wiki/Ssh-agent) gibi bir yardımcı program kullanmayı göz önünde bulundurun. Yardımcı
ssh-agent
programı, SSH oturumu oluştururken kullanılacak anahtarı otomatik olarak seçmek için kullanılabilir.
Önemli
Özel anahtarınızın güvenliğini bir parolayla sağlarsanız, anahtarı kullanırken parolayı girmeniz gerekir. gibi ssh-agent
yardımcı programlar, kolaylık sağlamak için parolayı önbelleğe alabilir.
SSH anahtar çifti oluşturma
ssh-keygen
Ortak ve özel anahtar dosyaları oluşturmak için komutunu kullanın. Aşağıdaki komut, HDInsight ile kullanılabilecek bir 2048 bit RSA anahtar çifti oluşturur:
ssh-keygen -t rsa -b 2048
Anahtar oluşturma işlemi sırasında sizden bilgi istenir. Örneğin, anahtarların depolandığı yer veya parola kullanılıp kullanılmayacağı. İşlem tamamlandıktan sonra iki dosya oluşturulur; ortak anahtar ve özel anahtar.
HdInsight kümesi oluşturmak için ortak anahtar kullanılır. Ortak anahtarın uzantısı
.pub
.HdInsight kümesinde istemcinizin kimliğini doğrulamak için özel anahtar kullanılır.
Önemli
Parola kullanarak anahtarlarınızın güvenliğini sağlayabilirsiniz. Geçiş cümlesi, özel anahtarınız üzerinde etkili bir parola görevi görür. Birisi özel anahtarınızı alsa bile, anahtarı kullanmak için parolaya sahip olmalıdır.
Ortak anahtarı kullanarak HDInsight oluşturma
Oluşturma yöntemi | Açık anahtarı kullanma |
---|---|
Azure portalı |
SSH için küme oturum açma parolasını kullan'ın işaretini kaldırın ve SSH kimlik doğrulama türü olarak Ortak Anahtar'ı seçin. Son olarak, ortak anahtar dosyasını seçin veya dosyanın metin içeriğini SSH ortak anahtar alanına yapıştırın.![]() |
Azure PowerShell |
-SshPublicKey
New-AzHdinsightCluster cmdlet'inin parametresini kullanın ve ortak anahtarın içeriğini dize olarak geçirin. |
Azure Komut Satırı Arayüzü (Azure CLI) | komutunun --sshPublicKey parametresini az hdinsight create kullanın ve ortak anahtarın içeriğini dize olarak geçirin. |
Resource Manager Şablonu | SSH anahtarlarını şablonla kullanma örneği için bkz. Linux'ta HDInsight'ı SSH anahtarıyla dağıtma.
publicKeys
azuredeploy.json dosyasındaki öğesi, kümeyi oluştururken anahtarları Azure'a geçirmek için kullanılır. |
Kimlik Doğrulaması: Parola
SSH hesaplarının güvenliği bir parola kullanılarak sağlanabilir. SSH kullanarak HDInsight'a bağlandığınızda parolayı girmeniz istenir.
Uyarı
Microsoft, SSH için parola kimlik doğrulaması kullanılmasını önermez. Parolalar tahmin edilebilir ve deneme yanılma saldırılarına karşı savunmasızdır. Bunun yerine , kimlik doğrulaması için SSH anahtarlarını kullanmanızı öneririz.
Önemli
SSH hesabı parolasının, HDInsight kümesi oluşturulduktan 70 gün sonra süresi dolar. Parolanızın süresi dolarsa , HDInsight'ı Yönet belgesindeki bilgileri kullanarak parolanızı değiştirebilirsiniz.
Parola kullanarak HDInsight oluşturma
Oluşturma yöntemi | Parolayı belirtme |
---|---|
Azure portalı | Varsayılan olarak, SSH kullanıcı hesabı küme oturum açma hesabıyla aynı parolaya sahiptir. Farklı bir parola kullanmak için SSH için küme oturum açma parolasını kullan'ın işaretini kaldırın ve parolayı SSH parolası alanına girin.![]() |
Azure PowerShell |
--SshCredential
New-AzHdinsightCluster cmdlet'inin parametresini kullanın ve SSH kullanıcı hesabı adını ve parolasını içeren bir PSCredential nesne geçirin. |
Azure Komut Satırı Arayüzü (Azure CLI) | komutunun --ssh-password parametresini az hdinsight create kullanın ve parola değerini sağlayın. |
Resource Manager Şablonu | Şablonla parola kullanma örneği için bkz. Linux'ta HDInsight'ı SSH parolası ile dağıtma.
linuxOperatingSystemProfile
azuredeploy.json dosyasındaki öğesi, kümeyi oluştururken SSH hesabı adını ve parolasını Azure'a geçirmek için kullanılır. |
SSH parolasını değiştirme
SSH kullanıcı hesabı parolasını değiştirme hakkında bilgi için HDInsight'ı Yönetme belgesinin Parolaları değiştirme bölümüne bakın.
HDInsight kimlik doğrulama etki alanına katıldı
Etki alanına katılmış bir HDInsight kümesi kullanıyorsanız, SSH yerel kullanıcısıyla bağlandıktan sonra kinit
komutunu kullanmanız gerekir. Bu komut sizden bir etki alanı kullanıcısı ve parolası ister ve kümeyle ilişkilendirilmiş Microsoft Entra etki alanıyla oturumunuzun kimliğini doğrular.
Ayrıca etki alanına katılmış her düğümde (baş düğüm, kenar düğümü gibi) Kerberos Kimlik Doğrulamasını etki alanı hesabını kullanarak ssh olarak etkinleştirebilirsiniz. Bunu yapmak için sshd yapılandırma dosyasını düzenleyin:
sudo vi /etc/ssh/sshd_config
Açıklamayı kaldırın ve KerberosAuthentication
'yi yes
olarak değiştirin
sudo service sshd restart
Kerberos kimlik doğrulamasının başarılı olup olmadığını doğrulamak için komutunu kullanın klist
.
Daha fazla bilgi için bkz. Etki alanına katılmış HDInsight'ı yapılandırma.
Düğümlere bağlanın
Baş düğümlere ve kenar düğümüne (varsa) 22 ve 23 numaralı bağlantı noktalarından İnternet üzerinden erişilebilir.
Baş düğümlere bağlanırken, birincil baş düğümüne bağlanmak için 22 numaralı bağlantı noktasını, ikincil baş düğümüne bağlanmak için de 23 numaralı bağlantı noktasını kullanın. Kullanılacak tam etki alanı adı
clustername-ssh.azurehdinsight.net
, buradaclustername
kümenizin adıdır.# 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
Kenar düğümüne bağlanırken 22 numaralı bağlantı noktasını kullanın. Tam etki alanı adı
edgenodename.clustername-ssh.azurehdinsight.net
'dir, buradaedgenodename
kenar düğümü oluştururken sağladığınız bir addır.clustername
kümenin adıdır.# Connect to edge node ssh sshuser@edgnodename.clustername-ssh.azurehdinsight.net
Önemli
Önceki örneklerde parola kimlik doğrulaması kullandığınız veya sertifika kimlik doğrulamasının otomatik olarak gerçekleştiği varsayılır. Kimlik doğrulaması için bir SSH anahtar çifti kullanıyorsanız ve sertifika otomatik olarak kullanılmıyorsa, özel anahtarı belirtmek için parametresini kullanın -i
. Örneğin, ssh -i ~/.ssh/mykey sshuser@clustername-ssh.azurehdinsight.net
.
Bağlandıktan sonra istem, SSH kullanıcı adını ve bağlandığınız düğümü gösterecek şekilde değişir. Örneğin, birincil baş düğümüne sshuser
bağlanıldığında, istem şu şekildedir sshuser@<active-headnode-name>:~$
.
Çalışan ve Apache Zookeeper düğümlerine bağlan
İşçi düğümlerine ve Zookeeper düğümlerine internet'ten doğrudan erişilemez. Bunlara küme baş düğümlerinden veya kenar düğümlerinden erişilebilir. Diğer düğümlere bağlanmaya yönelik genel adımlar şunlardır:
Bir baş veya kenar düğümüne bağlanmak için SSH kullanın:
ssh sshuser@myedge.mycluster-ssh.azurehdinsight.net
SSH bağlantısı ile baş veya kenar düğümünden kümedeki bir çalışan düğümüne bağlanmak için
ssh
komutunu kullanın.ssh sshuser@wn0-myhdi
Düğüm adlarının listesini almak için Apache Ambari REST API'sini kullanarak HDInsight'ı yönetme belgesine bakın.
SSH hesabının güvenliği bir parola kullanılarak sağlanıyorsa, bağlanırken parolayı girin.
SSH hesabının güvenliği SSH anahtarları kullanılarak sağlanıyorsa, istemcide SSH iletmenin etkinleştirildiğinden emin olun.
Uyarı
Kümedeki tüm düğümlere doğrudan erişmenin bir diğer yolu da HDInsight'ı azure sanal ağına yüklemektir. Ardından uzak makinenizi aynı sanal ağa ekleyebilir ve kümedeki tüm düğümlere doğrudan erişebilirsiniz.
Daha fazla bilgi için bkz. HDInsight için sanal ağ planlama.
SSH ajan iletmeyi yapılandırma
Önemli
Aşağıdaki adımlarda Linux veya UNIX tabanlı bir sistem varsayılır ve Windows 10'da Bash ile çalışılır. Bu adımlar sisteminizde işe yaramazsa SSH istemcinizin belgelerine başvurmanız gerekebilir.
Metin düzenleyicisi kullanarak dosyasını açın
~/.ssh/config
. Bu dosya yoksa, komut satırına girerektouch ~/.ssh/config
oluşturabilirsiniz.Aşağıdakileri metni
config
dosyasına ekleyin.Host <edgenodename>.<clustername>-ssh.azurehdinsight.net ForwardAgent yes
Konak bilgilerini SSH kullanarak bağlandığınız düğümün adresiyle değiştirin. Önceki örnekte kenar düğümü kullanılır. Bu girdi, belirtilen düğüm için SSH aracısı iletmeyi yapılandırıyor.
Terminalden aşağıdaki komutu kullanarak SSH aracısı iletmeyi test edin:
echo "$SSH_AUTH_SOCK"
Bu komutun aşağıdaki metne benzer bilgiler döndürmesi gerekir:
/tmp/ssh-rfSUL1ldCldQ/agent.1792
Hiçbir şey döndürülmezse
ssh-agent
çalışmıyor demektir.ssh-agent'ın çalıştığını doğruladıktan sonra, SSH özel anahtarınızı aracıya eklemek için aşağıdakileri kullanın:
ssh-add ~/.ssh/id_rsa
Özel anahtarınız farklı bir dosyada depolanıyorsa,
~/.ssh/id_rsa
'yı dosyanın yolu ile değiştirin.SSH kullanarak küme kenar düğümüne veya baş düğümlerine bağlanın. Ardından bir çalışana veya zookeeper düğümüne bağlanmak için SSH komutunu kullanın. Bağlantı, iletilen anahtar kullanılarak kurulur.