ssh: ana bilgisayar adı [ana bilgisayar adı] çözümlenemedi: düğüm adı veya hizmet adı sağlandı veya bilinmiyor


132

Raspberry Pi ile bir VPN kurmaya çalışıyorum ve ilk adım, sshyerel ağımın dışından cihaza girme yeteneği kazanmak . Sebep ne olursa olsun, bunun imkansız olduğu kanıtlanıyor ve neden olduğuna dair en ufak bir fikrim yok. İle sshsunucuma girmeye çalıştığımda user@hostnameşu hatayı alıyorum:

ssh: Could not resolve hostname [hostname]: nodename nor servname provided, or not known 

Ancak sunucuya şu şekilde giriş yapabilirim:

ssh user@[local IP]

Sunucu, Raspbian'ın en son dağıtımını çalıştıran bir Raspberry Pi Model B ve ona bağlanmaya çalıştığım makine Mavericks çalıştıran bir Macbook Pro. sshRaspbian'ı kurduğumda Raspberry Pi'de etkinleştirildi.

Başka birinin bu sorunu yaşayıp yaşamadığını görmek için Stack Overflow'u saatlerce inceledim ve hiçbir şey bulamadım. Bulduğum her sshöğretici, onu uzak makinede kurabilmem ve bir ana bilgisayar adı kullanarak herhangi bir yerden oturum açabilmem gerektiğini söylüyor ve bu konuda hiç başarılı olamadım.


Orijinal hata, belirli bir soruna işaret ediyor - kullandığınız her [hostname]şey, denediğiniz yerden çözülemez. Beklediğinizi nslookup [hostname]size geri [local IP]veriyor mu?
2013

2
nslookup [hostname]tükürür; Sunucu: 8.8.8.8 Adres: 8.8.8.8 # 53 ** sunucu Macbook'umdan çalıştırıldığında [ana bilgisayar adı]:
NXDOMAIN bulamıyor

2
Emin olmak için - gerçek bir ana bilgisayar adı koyuyorsunuz [hostname], değil mi?
2013

Bu çıktı, kullanmaya çalıştığınız ana bilgisayar adı hakkında herhangi bir bilgisi olmayan Google'ın genel DNS sunucularını kullandığınızı gösterir. Ana bilgisayar adınız için DNS kayıtlarını tam olarak nasıl ayarlıyorsunuz?
2013

2
Server: 192.168.0.1 Address: 192.168.0.1#53 ** server can't find mrddr: NXDOMAIN
Nakilon

Yanıtlar:


29

Geçenlerde aynı sorunla karşılaştım. Ağımda pi'mi ssh yapabildim, ancak ev ağımın dışından değil.

Zaten sahiptim:

  • ev ağıma ssh yükledi ve test etti.
  • Pi'm için statik bir IP ayarlayın.
  • Dinamik bir DNS hizmeti kurun ve yazılımı pi'mde yükleyin. Statik ip'i kurmak için bu talimatlara başvurdum ve orada daha birçok öğretici kaynak var.

Ayrıca, bir web sitesini barındırmak için yönlendiricimde bağlantı noktasını ileri doğru kurdum ve hatta 22 numaralı bağlantı noktasını ssh için pi'imin statik IP'sine yönlendirdim, ancak bağlantı noktası yönlendirmesini gerçekleştirdiğiniz uygulamayı belirttiğiniz alanı boş bıraktım. yönlendirici. Her neyse, bu alana 'ssh' ekledim ve VOILA! Pi'm için herhangi bir yerden çalışan bir ssh bağlantısı.

Yönlendiricimin bağlantı noktası yönlendirme ayarlarını yazacağım.

(ApplicationTextField) _ssh (harici bağlantı noktası) _22 (Dahili Bağlantı Noktası) _22 (Protocal) _Both (IP Adresine) _192.168.1. ### (Etkin) _checkBox

Bağlantı noktası yönlendirme ayarları farklı yönlendiriciler için farklı olabilir, bu nedenle yönlendiriciniz için yönergelere bakın.

Şimdi, ev ağımın dışındayken pi'ime şunu yazarak bağlanıyorum:

ssh pi @ [ana bilgisayar adı]

Ardından parolamı girip bağlanabilirim.


109

Mac kullanıyorsanız, DNS yanıtlayıcısını yeniden başlatmak benim için sorunu çözdü.

sudo killall -HUP mDNSResponder

Ayrıca etki alanını ping, nslookup ve kazmam gerekiyordu. Bunlardan hangisinin yardımcı olduğundan emin değilim. Belki sadece beklemek yardımcı oldu.
Samizdis

benim için de çalıştı ... bu sorun mac'umu yeniden başlattıktan sonra başladı. önyükleme sırasında neyin karıştığını bilmiyorum
murli

1
Ayrıca bunun neden işe yaradığını ... ve soruna neyin neden olduğunu merak ediyorum.
mistik kola

Eğer nslookupçalışır, ancak ssh / ping / ne yaparsa değil, bu düzeltmeler sorunu. Teşekkürler.
Erik B

93

Uzak bir makineye bağlanırken aynı sorunu yaşadım. ancak aşağıdaki gibi giriş yapmayı başardım:

ssh -p 22 myName@hostname

veya:

ssh -l myName -p 22 hostname

1
sonunda işe yarıyor! sözdiziminde bir hata olmalıssh myName@hostname:myPort
Edoardo

10

VPN'inize dünyanın herhangi bir yerinden erişmeniz gerekiyorsa, bir alan adı kaydetmeniz ve VPN / ağ geçidinizin genel ip adresini göstermesini sağlamanız gerekir. Bir ana bilgisayar adını genel ip'inize bağlamak için bir Dinamik DNS hizmeti de kullanabilirsiniz.

Yerel ağınız içinde Mac'inizden Raspberry'nize yalnızca ssh yapmanız gerekiyorsa, şunu yapın : Mac'inizde düzenleyin /etc/hosts. Ahududu'nun ana bilgisayar adına "berry" ve ip "172.16.0.100" olduğunu varsayarak, bir satır ekleyin:

# ip           hostname
172.16.0.100   berry

Şimdi: ssh user@berryçalışmalı.


Yukarıdakilere ek olarak, sunucu-url'im için ip'i tanımak için "windows-cmd" kullandım. IP'yi almak için "ping url" yaptım. ve bu nedenle, IP ve URL çiftini "/ etc / hosts" içine ekledi. Orada mükemmel çalışır (git pull, vb.)!
parasrish

9

Ana bilgisayar adına bir .local ekleyerek çözebildiğim aynı sorunu yaşadım, ala ssh user@hostname.local


Bu benim için yaptı. ping $(hostname)çalışıyordu ama yapılması gerekiyor ssh $(hostname).local. Mac genellikle harikadır .. ama berbat olduğunda, gerçekten yapar ..
javadba

: Ben de başka bir sorun var hadoopyapmak ihtiyaçlarını ssh user@hostnameve ben olamaz sadece eklemek .localelle. I'm stuck
javadba

Eklemek .localbenim için Ubuntu 19.10'da yaptı.
prkos

5

Benim durumumda böyle ssh deniyordum

ssh pedro@192.168.2.179:22 

doğru format olduğunda:

ssh pedro@192.168.2.179 -p 22 

1
Vay canına-- sonsuza kadar bağlantı noktası yönlendirmeye takılı kaldı! Bu kutsal metindir.
frozenOne

4

Komutunuz ise:

$ ssh -p 1122  path/to/pemfile user@[hostip/hostname]

Sen de aynı hatayla karşılaşacaksın

ssh: Could not resolve hostname [hostname]: nodename nor servname provided, or not known

-i /path/to/pemfilessh seçeneğini kaçırdığınızda

Yani Komut şöyle olmalıdır:

$ ssh -p 1122 -i path/to/pemfile user@[hostip/hostname]

Pemfile seçeneklerini kullanmadım ama yine de kullanıyorumssh -p xxxx user@hostname
Yoku

4

Uzak Amazon sunucusuna bağlanmam gerekiyor

ssh -i ~/.ssh/test.pem -fN -L 5555:localhost:5678 ubuntu@hostname.com

Aşağıdaki hatayı alıyordum.

ssh: Could not resolve hostname <hostname.com>: nodename nor servname provided, or not known

Mac OSX için Çözüm

Ana bilgisayara ping atmak sorunu çözdü. Mac OSX Seirra kullanıyorum.

ping hostname.com

Şimdi sorun çözüldü. Sunucuya bağlanabilir.

Not : Bu çözümü de denedim . Ama yürümedi. Ardından pingsorunu çözdü.


3

Aynı sorunu yaşadım: Tercihler -> Paylaşım -> Uzaktan Oturum Açma'da gösterilen adres çalışmadı ve '... nodename veya hizmet adı sağlandı veya bilinmiyor'. Ancak, ayarları manuel olarak düzenlediğimde (Tercihler -> Paylaşım -> Uzaktan Oturum Açma -> düzenle seçeneğinde) ve "Dinamik global ana bilgisayar adını kullan" seçeneğini etkinleştirdiğimde, birden çalıştı.

görüntü açıklamasını buraya girin

görüntü açıklamasını buraya girin


3

Görünüşe göre bazı uygulamalar sembolik bağlantılı okumuyor /etc/hosts(en azından macOS'ta), onu sabitlemeniz gerekiyor.

ln /path/to/hosts_file /etc/hosts


2

Bu, Github'a erişmeye çalışırken başıma geliyordu. Sorun şu ki, yapma alışkanlığım vardı:

git remote add <xyz> ssh:\\git@github.com......

Ancak, sorudan bu hatayı alıyorsanız, ssh:\\ sorunu çözebilir. Benim için çözdü!

git remote remove <xyz>Uzak url'yi yapmadan ve yeniden eklemeniz gerekeceğini unutmayın ssh:\\.


1
Gerçekten kullandınız mı ssh:\\ziyade ssh://?
Radon Rosborough

@RadonRosborough Bu bir süre önceydi ... bu yüzden emin değilim. Olabilir! :)
Monkpit

1

Benim için sorun dosyamdaki bir yazım hatasıydı ~/.ssh/config. Sahiptim:

Host host1:
  HostName 10.10.1.1
  User jlyonsmith

Sorun :sonraydı host1- orada olmamalıydı. dosyadaki sshyazım hataları için uyarı vermez ~/.ssh/config. Bulamadığında host1makineyi yerel olarak arar, bulamaz ve şifreli hata mesajını yazdırır.


0

İzin verilen bağlantı noktalarını göz önünde bulundurarak bunu deneyin. Sizin Mağaza .pemsenin dosyayı Documentsörneğin klasörde.

Şimdi ona erişmek için yapmanız gereken tek şey, cd [directory]sizi tahsis edilen dosyanın dizinine götürmektir. O lsanda bulunduğunuz dizin içeriğini listelemek için önce şunu yazabilirsiniz :

ls
cd /Documents
chmod 400 mycertificate.pem
ssh -i "mycertificate.pem" ec2-user@ec2-1-2-3-4.us-compass-0.compute.amazonaws.com -p 80

0

Bu hatayı, düzgün biçimlendirilmemiş yanıtlanabilir bir .yml envanter dosyası kullanarak aldım. Bir gruptaki birden çok ana bilgisayar için, her ana bilgisayar adının sert iki nokta üst üste ":" ile bitmesi gerekir. Aksi takdirde ansible, ana bilgisayar adlarını birlikte çalıştırır ve bu ssh hatasını üretir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.