AWSには、接続されたEIPがあり(通常は)SSH経由でアクセスできるec2インスタンスがあります。昨日と今日の間に何が変わったのかは分かりませんが、今は自分のコンピュータからサーバーに直接SSHを接続できません。何が起こるのか?
SSHを介してサーバー(fooなど)に接続すると、次のようになります。
debug1: Connecting to foo [10.0.0.55] port 22. debug1: connect to address 10.0.0.55 port 22: Connection refused ssh: connect to host foo port 22: Connection refused
ホスト foo を実行すると、正しい EIP とドメインが確認されます。
foo.bar.net has address 34.204.x.x
1つの解決策は、エントリを追加するか、自分の/etc/hosts
エントリを調整してホストエントリに~/.ssh/config
追加することです。.bar.net
私は両方をしたくありません。私の質問は、これら2つのソリューションに加えて、SSHが内部IPではなくEIPを指すようにするにはどうすればよいですか?ちなみに私が使っているコンピュータはMac OSXです。
答え1
ssh
に属していない限り、何も「指示」しないでください.ssh/config
。
また、このhost
コマンドはDNSを排他的に使用して名前を見つけ、/etc/hosts
ファイルを解決しません。
コンピュータ構成の一部が「foo」というホストを対応するIPアドレスに関連付けます。ファイルにありますか/etc/hosts
?/etc/nsswitch.conf
ファイルが異常な操作を実行してLDAPまたはNISサーバーから「foo」をインポートするのではないでしょうか。
ping foo
あなたでなければ何を得ますかnc -v foo 22
?