Не удается SSHing для Ubuntu через имя хоста и порт, отличный от 22

Вы можете настроить свой телефон Samsung (при условии, что он работает под управлением Android), чтобы поделиться своим интернет-соединением с Ubuntu. Я использовал эту функцию только для совместного использования 3G-соединения, поэтому я не могу говорить о ее функциональности с Wi-Fi-соединением мобильного телефона, но было бы неплохо попробовать.

Подключите телефон к компьютеру через USB - выберите параметр «Только зарядка». На телефоне перейдите в Настройки -> Беспроводная связь и amp; Сети и включить режим подключения к Интернету. В течение нескольких секунд новый параметр сети должен появиться в Ubuntu.

Надеюсь, это поможет!

1
задан 6 July 2013 в 18:50

1 ответ

Когда вы запустили 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
ответ дан 24 May 2018 в 20:15
  • 1
    Спасибо за великолепное объяснение. Я смог запустить его успешно, как на имя хоста, так и на порт. Я хочу задать еще один вопрос ... Запуск ssh username@hostname -p2222 каждый раз, когда я хочу SSH, немного утомительно ... что и как вы (или сообщество) делаете, чтобы справиться с проблемой? Я придумал создание псевдонима, но это лучший способ? – Blaszard 6 July 2013 в 19:40
  • 2
    Проблема с использованием псевдонима (я думаю), вы не сможете указать другой порт, если хотите подключиться к другому компьютеру. Вот лучший способ: не уверен, что это тот же файл на Mac, но отредактируйте файл /etc/ssh/ssh_config (обратите внимание, что это ssh_config, а не sshd_config) на вашем Mac и добавьте в конце строку Port 2222. Это сделает SSH-порт по умолчанию 2222. Однако вы можете просто изменить порт на 22 на Ubuntu. – Alaa Ali 6 July 2013 в 19:48
  • 3
    Я нашел файл в /etc/ssh_config, поэтому я думаю, что это то, на что вы указали. Если я перехожу из порта 22 в 2222 в файл, то это означает, что каждый раз, когда я выполняю команду ssh, я всегда использую порт 2222 по умолчанию ... правильно? И это также означает, что когда я пытаюсь подключиться к другой машине, которая не использует порт 2222, тогда мне нужно добавить аргумент -p для подключения к конкретной машине ... правильно? – Blaszard 6 July 2013 в 19:55
  • 4
    Да. Кроме того, не забудьте отметить ответ как ваш принятый ответ , чтобы указать другим, что вопрос был решен. – Alaa Ali 6 July 2013 в 19:58
  • 5
    @Alaa Да, .local направляет подключение к локальной сети для разрешения имени хоста. Также работает в веб-браузерах: я подключаюсь к своему экземпляру Webmin, используя его. – douggro 6 July 2013 в 20:30

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

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