web-dev-qa-db-ja.com

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

私はRaspberry Piを使ってVPNを設定しようとしています、そして最初のステップは私のローカルネットワークの外からデバイスにsshする能力を得ることです。何らかの理由で、これは不可能であることが証明されており、私はそのためのわずかな手がかりを得ていません。 user@hostnameを使用して自分のサーバーにsshを入力しようとすると、エラーが発生します。

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

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

ssh user@[local IP]

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

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

100
qaxf6auux

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

すでに持っている:

  • 私のホームネットワークにsshをインストールしてテストしました。
  • 私のパイの静的IPを設定します。
  • 動的DNSサービスを設定し、私のpiにソフトウェアをインストールしました。静的IPを設定するためにこれらの 命令 を参照しましたが、もっと多くの指示リソースがあります。

また、私はWebサイトをホストするために私のルーターにポートフォワードを設定し、私はsshのために私のpiの静的IPにポート22までポートフォワードしていました。ルータとにかく、私はこのフィールドに 'ssh'を追加しました、そして、VOILA!どこからでも私のパイにsshの接続作業。

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

(ApplicationTextField)_ssh(外部ポート)_22(内部ポート)_22(プロトカル)_Both(宛先IPアドレス)_192.168.1。###(有効)_checkBox

ただし、ポート転送設定はルーターによって異なりますので、ルーターの指示を調べてください。

さて、私が自宅のネットワークの外にいるときは、次のように入力して私のpiに接続します。

ssh pi @ [ホスト名]

それから私は自分のパスワードを入力して接続することができます。

22
ekwaters

リモートマシンへの接続でも同じ問題がありました。しかし、私は以下のようにログインすることに成功しました:

ssh -p 22 myName@hostname

または

ssh -l myName -p 22 hostname
81
tokhi

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

Sudo killall -HUP mDNSResponder
72
Mo Bitar

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

あなたがあなたのMacからあなたのRaspberryへあなたのローカルネットワークの中だけでSSH接続する必要があるなら、これをしてください:あなたのMac上で、/etc/hostsを編集してください。ラズベリーのホスト名が "berry"、ipが "172.16.0.100"であると仮定して、1行追加します。

# ip           hostname
172.16.0.100   berry

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

8
grebneke

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

7
horcle_buzz

あなたのコマンドが

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

また、同じエラーに直面するでしょう

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

sshの-i /path/to/pemfileオプションを見逃したとき

コマンドは次のようになります。

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

私は同じ問題を抱えていました:Preferences - > Sharing - > Remote Loginに表示されているアドレスが機能せず、 '... nodenameもservnameも指定されていない、または知られていません'。ただし、手動で設定を編集し([設定] - > [共有] - > [リモートログイン] - > [編集])、[動的グローバルホスト名を使用]を有効にすると、突然うまくいきました。

enter image description here

enter image description here

3
user2489252

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

git remote add <xyz> ssh:\\[email protected]......

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

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

1
Monkpit

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

ln /path/to/hosts_file /etc/hosts

1
Andrei Vaduva

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

ssh -i ~/.ssh/test.pem -fN -L 5555:localhost:5678 [email protected]

次のようなエラーが出ました。

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

Mac OSX用のソリューション

ホストをpingすると問題が解決しました。私はMac OSX Seirraを使っています。

ping hostname.com

今問題は解決しました。サーバーに接続できます。

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

1
mythicalcoder

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

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

ls
cd /Documents
chmod 400 mycertificate.pem
ssh -i "mycertificate.pem" [email protected] -p 80
0
user4294909

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

Host host1:
  HostName 10.10.1.1
  User jlyonsmith

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

0
jlyonsmith