Не могу SSHing к Ubuntu через имя хоста и порт, кроме 22

Я пытаюсь подключиться к Ubuntu через SSH из OS X, и я сделал тот же шаг, как описано на этой странице ( https://help.ubuntu.com/10.04/serverguide/openssh-server. HTML ). После установки я попытался подключиться в форме username@ip_address, затем это было успешно, и я смог быть в Ubuntu из OS X Terminal (на этот раз я использовал порт 22). Однако, когда я попытался подключиться к Ubuntu по SSH в форме username@hostname, я не смог, и произошла ошибка ssh: Could not resolve hostname my_user_name: nodename nor servname provided, or not known. Я также попытался подключиться через порт 2222, изменив /etc/ssh/sshd_config, но затем тоже не получилось, из-за ошибки debug1: connect to address my_ip_address port 22: Connection refused (на этот раз я попытался подключиться по IP-адресу).

Так что я думаю, что последняя проблема проистекает из того факта, что я должен внести какие-то изменения также в OS X, но не знаю, где и как это сделать, и не знаю, во-первых, это правда. [ 119] 1110] Первый вопрос более раздражает, так как я не уверен, что могу правильно его понять. Я использовал hostname в качестве значения, полученного при запуске hostname в Ubuntu Terminal ... но так ли это? И когда я искал проблему в Интернете, я знал, что это связано с проблемой DNS ... но не знал, что это такое и как ее исправить ...

Спасибо.

3
задан 6 July 2013 в 17:50

2 ответа

В Терминале на OS X при использовании ssh для установки удаленного соединения с использованием имени хоста в локальной сети добавьте суффикс .local, так что команда читает ssh username@hostname.local Если вам нужно переопределить порт по умолчанию 22, как ваш пример использования порта 2222, добавьте -p 2222 к команде. Вы также можете установить это в диалоговом окне «Новое удаленное соединение ...» терминала (Command-Shift-K) для быстрого доступа.

0
ответ дан 6 July 2013 в 17:50

Когда вы запустили ssh username@hostname, компьютер, с которого вы подключаетесь (ваша Mac OS), не знает IP этого hostname, вот почему это говорит вам ssh: Could not resolve hostname. Итак, вам нужно сказать вашему Mac, что это hostname это ip_address. Чтобы сделать это на вашем Mac, эта страница расскажет вам, как это сделать. По сути, вам нужно sudo nano /private/etc/hosts (sudo nano /etc/hosts в Mac OS X 10.7 и более поздних версиях) и добавить строку в конец файла следующим образом:

ip_address       hostname

с фактическим IP и имя хоста вашего компьютера с Ubuntu. После этого нажмите Control + O, затем Enter, затем Control + X, чтобы сохранить и закрыть файл. Затем выполните dscacheutil -flushcache, чтобы изменения вступили в силу. Теперь, когда вы делаете ssh username@hostname, это должно работать.

И про этот порт 2222:

Вы правы, вам нужно внести некоторые изменения в Mac OS ... ну, это всего лишь пара символов. Когда вы делаете ssh username@hostname, то, что на самом деле происходит в фоновом режиме, это ssh username@hostname -p22, потому что порт 22 является портом SSH по умолчанию. Но если вы знаете, что компьютер, к которому вы пытаетесь подключиться, использует другой порт, вам придется указать его вручную. Итак, поскольку вы изменили порт в Ubuntu на 2222, вам нужно будет сделать ssh username@hostname -p2222. Это не имеет ничего общего с использованием hostname или ip_address.

0
ответ дан 6 July 2013 в 17:50

Другие вопросы по тегам:

Похожие вопросы: