У меня есть экземпляр ec2 на AWS, который связан с EIP и доступен через SSH (обычно). Не уверен, что изменилось между вчера и сегодня, но теперь я не могу подключиться к серверу по SSH прямо со своего ПК. Вот что происходит:
Когда я подключаюсь к серверу по SSH (скажем, foo), я получаю:
debug1: Подключение к порту 22 foo [10.0.0.55].
debug1: подключиться к адресу 10.0.0.55 порт 22: в соединении отказано
ssh: подключиться к хосту foo порт 22: соединение отклонено
Когда я запускаю хост foo, он разрешает правильный EIP и домен:
foo.bar.net имеет адрес 34.204.xx
Я знаю, что одно решение - либо добавить запись в / etc / hosts, либо настроить мой ~ / .ssh / config и добавить .bar.net в запись хоста. Я не хочу делать ни того, ни другого. У меня вопрос: что я могу сделать помимо этих двух решений, чтобы убедиться, что SSH указывает на EIP, а не на внутренний IP-адрес? К вашему сведению, мой компьютер, который я использую, - Mac OSX.
ssh
ни на что не «указывает», если вы специально не настроили это в .ssh/config
.
Также обратите внимание, что команда host
специально использует DNS для поиска имен и не будет проверять ваш файл /etc/hosts
.
Что-то в конфигурации вашего компьютера связывает хост с именем «foo» с этим IP-адресом. Это в вашем файле /etc/hosts
? Может быть, ваш файл /etc/nsswitch.conf
делает что-то необычное и извлекает «foo» с сервера LDAP или NIS?
Что вы получите, если вы ping foo
или nc -v foo 22
?