ssh:ホスト名[ホスト名]を解決できませんでした:ノード名もサービス名も指定されていないか、不明です


131

Raspberry PiでVPNをセットアップしようとしていますが、最初のステップはssh、ローカルネットワークの外部からデバイスにアクセスできるようにすることです。どんな理由であれ、これは不可能であることが証明されており、その理由はほとんどわかりません。でsshサーバーにアクセスしようとするとuser@hostname、エラーが発生します。

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

しかし、私はサーバーにログインできます、

ssh user@[local IP]

サーバーはRaspbianの最新のディストリビューションを実行しているRaspberry PiモデルBであり、サーバーに接続しようとしているマシンはMavericksを実行しているMacbook Proです。sshRaspbianをセットアップすると、Raspberry Piで有効になりました。

私は何時間もスタックオーバーフローを調べ、他に誰かがこの問題を抱えているかどうかを確認しようとしましたが、何も見つかりませんでした。ssh私が見つけたすべてのチュートリアルでは、リモートマシンでセットアップして、ホスト名を使用してどこからでもログインできるようにすべきだと言っていますが、これで成功したことはありません。


元のエラーは特定の問題[hostname]を示しています- 使用しているものは何をしようとしていても解決できません。nslookup [hostname]あなたが戻っ与える[local IP]あなたが期待していますか?
admdrew 2013年

2
nslookup [hostname]吐き出す; サーバー:8.8.8.8アドレス:8.8.8.8#53 **サーバーが[ホスト名]を見つけられない:Macbookから実行すると
NXDOMAIN

2
念のために言っておきますが、実際のホスト名をに入力していますよね[hostname]
admdrew 2013年

この出力は、GoogleのパブリックDNSサーバーを使用していることを示しています。このDNSサーバーは、使用しようとしているホスト名を認識していません。ホスト名のDNSレコードをどの程度正確に設定していますか?
admdrew 2013年

2
Server: 192.168.0.1 Address: 192.168.0.1#53 ** server can't find mrddr: NXDOMAIN
ナキロン2014

回答:


29

最近、同じ問題に遭遇しました。私は自分のネットワーク上で自分のpiにSSH接続できましたが、ホームネットワークの外部からはできませんでした。

すでに持っている:

  • ホームネットワークにsshをインストールしてテストしました。
  • 私のpiに静的IPを設定します。
  • ダイナミックDNSサービスをセットアップし、ソフトウェアをpiにインストールしました。静的IPをセットアップするためにこれらの手順を参照しましたが、そこにはさらに多くの説明リソースがあります。

また、ウェブサイトをホストするためにルーターにポート転送を設定し、ポート転送22をsshのpiの静的IPに設定しましたが、ポート転送を実行するアプリケーションを指定するフィールドを空白のままにしましたルータ。とにかく、このフィールドに「ssh」を追加して、VOILA!どこからでも私のpiに動作するssh接続。

ルーターのポート転送設定を書き出します。

(ApplicationTextField)_ssh(外部ポート)_22(内部ポート)_22(プロトコル)_両方(IPアドレスへ)_192.168.1。###(有効)_checkBox

ただし、ルーターごとにポート転送設定が異なる可能性があるため、ルーターの方向を調べてください。

次に、ホームネットワークの外にいるとき、次のように入力してpiに接続します。

ssh pi @ [ホスト名]

その後、パスワードを入力して接続できます。


109

Macを使用している場合は、DNSレスポンダを再起動すると問題が解決しました。

sudo killall -HUP mDNSResponder

また、ドメインのping、nslookup、およびdigも必要でした。これらのどれが役に立ったかはわかりません。たぶん待っているだけで助けになったかもしれません。
Samizdis

私は、ブート時に台無しにどのような私のmac..don'tノウハウの再起動後に開始also..this問題私のために働いた
murli

1
なぜこれが機能するのか、そしてそもそも何が問題を引き起こしているのか知りたいです。
ミスティックコーラ

もしnslookup作品が、SSH /ピング/ないものは何でも、これは修正問題。ありがとう。
エリックB

93

リモートマシンへの接続で同じ問題が発生しました。しかし、私は以下のようにしてなんとかログインできました:

ssh -p 22 myName@hostname

または:

ssh -l myName -p 22 hostname

1
ついにうまくいきました!構文にバグがあるはずですssh myName@hostname:myPort
Edoardo

10

世界中のどこからでもVPNにアクセスする必要がある場合は、ドメイン名を登録して、VPN /ネットワークゲートウェイのパブリックIPアドレスを指すようにする必要があります。ダイナミックDNSサービスを使用して、ホスト名をパブリックIPに接続することもできます。

Macからローカルネットワーク内の Raspberryにsshするだけでよい場合は、次のようにします。Macで編集します/etc/hosts。Raspberryのホスト名が「berry」で、IPが「172.16.0.100」であると想定して、1行追加します。

# ip           hostname
172.16.0.100   berry

今:動作するssh user@berryはずです。


上記に加えて、サーバーのURLのIPを知るために「windows-cmd」を使用しました。IPを取得するために「ping url」を実行しました。したがって、「/ etc / hosts」にIPとURLのペアを追加しました。それは(git pullなど)後に完全に機能します!
Parasrish 2016

9

私は同じ問題を抱えていましたが、ホスト名alaに.localを追加することで解決できました ssh user@hostname.local


それは私のためにそれをしました。ping $(hostname)動作していましたが、する必要がありますssh $(hostname).local。...マックは通常、素晴らしいです..しかし、それは吸うとき、それは本当にありません
javadba

さらに問題があります。実行 hadoopする必要がありssh user@hostname、単に手動で追加することはできません.local。行き詰まっている
javadba

追加する.localと、Ubuntu 19.10でそれができました。
prkos

5

私の場合、私はこのようにsshを試していました

ssh pedro@192.168.2.179:22 

正しい形式は次のとおりです。

ssh pedro@192.168.2.179 -p 22 

1
うわー、ポート転送で永遠に行き詰まりました!これは聖なるテキストです。
frozenOne

4

コマンドが次の場合:

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

あなたも同じエラーに直面します

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

-i /path/to/pemfilessh のオプションを見逃した場合

したがって、コマンドは次のようになります。

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

私はpemfileオプションを使用しますが、まだ使用して接続されていませんでしssh -p xxxx user@hostname
Yokuが

4

リモートのAmazonサーバーに接続する必要がありました

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

次のエラーが発生しました。

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

Mac OSXのソリューション

ホストをpingすることで問題は解決しました。Mac OSX Seirraを使用しています。

ping hostname.com

これで問題は解決しました。サーバーに接続できる。

:私もこの解決策を試しました。しかし、うまくいきませんでした。その後ping、問題を解決しました。


3

同じ問題がありました。[設定]-> [共有]-> [リモートログイン]に表示されるアドレスが機能せず、「...ノード名もサービス名も指定されていないか、不明です」と表示されました。しかし、手動で設定を編集し([設定]-> [共有]-> [リモートログイン]-> [編集])、[動的グローバルホスト名を使用]を有効にすると、突然動作しました。

ここに画像の説明を入力してください

ここに画像の説明を入力してください


3

一部のアプリはシンボリックリンクを読み込めないようです/etc/hosts(少なくともmacOSでは)、ハードリンクする必要があります。

ln /path/to/hosts_file /etc/hosts


2

これは、Githubにアクセスしようとしたときに起こっていました。問題は、私がする習慣があったことです。

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

ただし、質問からこのエラーが発生しているssh:\\場合は、削除すると問題が解決する場合があります。それは私のためにそれを解決しました!

を実行し、git remote remove <xyz>なしでリモートURLを再度追加する必要があることに注意してくださいssh:\\


1
ssh:\\ではなく、実際に使用しましたssh://か?
Radon Rosborough 2017

@RadonRosboroughこれは少し前のことです...なので、よくわかりません。持っているかもしれません!:)
モンクピット2017

1

私にとって、問題は私の~/.ssh/configファイルのタイプミスでした。私が持っていた:

Host host1:
  HostName 10.10.1.1
  User jlyonsmith

問題は:その後でしたhost1-それはそこにあるべきではありません。ファイル内のsshタイプミスに対して警告を出しません~/.ssh/config。それが見つからない場合host1、ローカルでマシンを探しますが、それを見つけることができず、不可解なエラーメッセージが出力されます。


0

許可されたポートを考慮して、これを試してください。たとえば、.pemファイルをDocumentsフォルダーに保存します。

これにアクセスするために必要なのはcd [directory]、割り当てられたファイルのディレクトリに移動するだけです。最初にと入力してls、現在のディレクトリの内容を一覧表示できます。

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

適切にフォーマットされていない.ymlインベントリファイルをansibleで使用すると、このエラーが発生しました。グループ内の複数のホストの場合、各ホスト名はハードコロン「:」で終了する必要があります。そうでない場合、ansibleはホスト名を一緒に実行し、このsshエラーを生成します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.