Как узнать имя хоста телефона Android для использования в SSH-подключении?

Как узнать имя хоста телефона Android для использования в SSH-подключении?

При настройке аутентификации с открытым ключом на сервере SimpleSSHD на моем телефоне Android,http://www.galexander.org/software/simplesshd/

Быстрый старт

  • Установите SimpleSSHD.
  • На любом компьютере, который будет подключаться к вашему устройству Android, установите порт 2222. С помощью OpenSSH это можно сделать, поместив следующие строки в ~/.ssh/config:

    Host myphone
    Port 2222
    
  • Запустите SimpleSSHD и в настройках включите «Запуск при загрузке», затем вручную запустите его в первый раз.

  • Создать authorized_keysв домашнем каталоге (не использовать ssh-copy-id)
  • При желании можно сделать .profile

как узнать имя хоста myphoneмоего телефона Android?

Моему телефону время от времени назначаются разные IP-адреса. Например, я могу переместить свой ноутбук и телефон в разные локальные сети, а мой телефон может снова подключиться к той же локальной сети.

Некоторые попытки с моего ноутбука:

Первая попытка (неудача):

$ ssh -p 2222 192.168.1.87
user@C6730:/data/data/org.galexander.sshd/files $ hostname
sh: hostname: not found

Вторая попытка (неудача):

user@C6730:/data/data/org.galexander.sshd/files $ ^D
Connection to 192.168.1.87 closed.
t@ocean:/home/t$ ssh -p 2222 C6730
ssh: Could not resolve hostname c6730: No address associated with hostname

Третья попытка (успешно, если повезет с угадыванием):

Я нахожу все хосты в локальной сети по sudo nmap -sP 192.168.1.0/24, и угадайте, какой хост в выводе, скорее всего, является телефоном. это что-то вроде android-c0f659b6548c28b2(не настоящее имя хоста)

  • Изменится ли android-c0f659b6548c28b2в некоторых случаях, например, при перезагрузке телефона, перемещении в другую локальную сеть, назначении другого IP-адреса, ...?

  • Кто-нибудь знает, что это c0f659b6548c28b2значит? Это не Mac-адрес телефона.

  • Могу ли я настроить имя хоста телефона Android?

Спасибо.

решение1

Изменится ли android-c0f659b6548c28b2в некоторых случаях, например, при перезагрузке телефона, перемещении в другую локальную сеть, назначении другого IP-адреса, ...?

Он должен измениться только после сброса настроек телефона до заводских (что также может произойти как побочный эффект разблокировки загрузчика).

Из командной строки его можно запросить командой getprop net.hostname.

Следующая строка android-— этоANDROID_IDиз Settings.Secure, который являетсяслучайногенерируется при первом использовании телефона и сохраняется в /dataразделе [1]:

- в более старых версиях в /data/data/com.android.providers.settings/databases/settings.dbбазе данных sqlite3.

- в более новых версиях в /data/system/users/USERID/settings_secure.xmlфайле; обратите внимание, что USERIDне имеет отношения к unix uid.

Даже более новые версии (> 8.0) сделать ANDROID_IDкомбинацию ключей подписи уникальной для устройства/пользователя/приложения и полностью отказаться от net.hostname, который больше не используется клиентом DHCP.

Кто-нибудь знает, что означает c0f659b6548c28b2? Это не Mac-адрес телефона.

Это должно быть случайным.

Могу ли я настроить имя хоста телефона Android?

Без рутирования [2] это сделать невозможно, но setprop net.hostname preferred_hostnameпри наличии соответствующих привилегий [3] это должно получиться.

[1] Которые стираются при сбросе настроек к заводским.

[2] На некоторых устройствах такая возможность есть в разделе «Настройки / Параметры разработчика», но мне не удалось найти ее ни на одном из моих устройств.

[3] В новых версиях Android отсутствуют возможности и широко используется SELinux, поэтому простого получения прав root может быть недостаточно.

Связанный контент