私は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
チュートリアルでは、リモートマシン上でそれを設定し、ホスト名を使ってどこからでもログインできればいいと言っていますが、それでも成功したことはありません。
最近私は同じ問題に遭遇しました。私は自分のネットワーク上で自分のpiにSSH接続することができましたが、私のホームネットワークの外からは接続できませんでした。
すでに持っている:
また、私はWebサイトをホストするために私のルーターにポートフォワードを設定し、私はsshのために私のpiの静的IPにポート22までポートフォワードしていました。ルータとにかく、私はこのフィールドに 'ssh'を追加しました、そして、VOILA!どこからでも私のパイにsshの接続作業。
ルーターのポート転送設定を書き出します。
(ApplicationTextField)_ssh(外部ポート)_22(内部ポート)_22(プロトカル)_Both(宛先IPアドレス)_192.168.1。###(有効)_checkBox
ただし、ポート転送設定はルーターによって異なりますので、ルーターの指示を調べてください。
さて、私が自宅のネットワークの外にいるときは、次のように入力して私のpiに接続します。
ssh pi @ [ホスト名]
それから私は自分のパスワードを入力して接続することができます。
リモートマシンへの接続でも同じ問題がありました。しかし、私は以下のようにログインすることに成功しました:
ssh -p 22 myName@hostname
または
ssh -l myName -p 22 hostname
Macを使用している場合は、DNSレスポンダを再起動すると問題が解決しました。
Sudo killall -HUP mDNSResponder
世界中のどこからでも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
は動作するはずです。
私は同じ問題を抱えていましたが、ホスト名に.localを追加することで解決できました。ala ssh [email protected]
あなたのコマンドが
$ 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]
私は同じ問題を抱えていました:Preferences - > Sharing - > Remote Loginに表示されているアドレスが機能せず、 '... nodenameもservnameも指定されていない、または知られていません'。ただし、手動で設定を編集し([設定] - > [共有] - > [リモートログイン] - > [編集])、[動的グローバルホスト名を使用]を有効にすると、突然うまくいきました。
Githubにアクセスしようとしたとき、これが私に起こりました。問題は私がしている習慣があるということです。
git remote add <xyz> ssh:\\[email protected]......
ただし、質問からこのエラーが発生した場合は、ssh:\\
を削除すると問題が解決する可能性があります。それは私のためにそれを解決しました!
git remote remove <xyz>
を実行し、ssh:\\
なしでリモートURLを再追加する必要があることに注意してください。
一部のアプリはシンボリックリンクされた/etc/hosts
を(少なくともmacOSでは)読めないようですが、ハードリンクする必要があります。
ln /path/to/hosts_file /etc/hosts
リモートの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
ホストをpingすると問題が解決しました。私はMac OSX Seirraを使っています。
ping hostname.com
今問題は解決しました。サーバーに接続できます。
注: この解決策 も試しました。しかし、うまくいきませんでした。それからping
は問題を解決しました。
許可されたポートを考慮してこれを試してください。例えば、あなたの.pem
ファイルをあなたのDocuments
フォルダに保存してください。
これにアクセスするには、cd [directory]
を実行するだけで、割り当てられたファイルのディレクトリに移動します。最初にls
と入力すると、現在入っているディレクトリの内容を一覧表示できます。
ls
cd /Documents
chmod 400 mycertificate.pem
ssh -i "mycertificate.pem" [email protected] -p 80
私にとって、問題は~/.ssh/config
ファイルのタイプミスでした。私が持っていた:
Host host1:
HostName 10.10.1.1
User jlyonsmith
問題は:
の後のHost1
でした-あるべきではありません。 ssh
は、~/.ssh/config
ファイルのタイプミスに関する警告を表示しません。 Host1
が見つからない場合、ローカルでマシンを探し、それを見つけることができず、不可解なエラーメッセージを出力します。