Como posso saber o nome do host de um telefone Android para uso na conexão SSH?

Como posso saber o nome do host de um telefone Android para uso na conexão SSH?

Ao configurar a autenticação de chave pública no servidor SimpleSSHD no meu telefone Android, porhttp://www.galexander.org/software/simplesshd/

Começo rápido

  • Instale o SimpleSSHD.
  • Em qualquer computador que se conectará ao seu dispositivo Android, defina a porta para 2222. Com OpenSSH, isso pode ser feito colocando estas linhas em ~/.ssh/config:

    Host myphone
    Port 2222
    
  • Inicie o SimpleSSHD e, em Configurações, ative "Iniciar na inicialização" e, em seguida, inicie-o manualmente pela primeira vez.

  • Crie authorized_keysno diretório inicial (não use ssh-copy-id)
  • Opcionalmente, faça .profile

como posso descobrir o nome do host myphonedo meu telefone Android?

Meu telefone recebe endereços IP diferentes de tempos em tempos. Por exemplo, posso mover meu laptop e telefone para LANs diferentes e meu telefone pode se reconectar à mesma LAN.

Algumas tentativas do meu laptop:

Primeira tentativa (falha):

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

Segunda tentativa (falha):

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

Terceira tentativa (sucesso com alguma sorte adivinhando):

Encontro todos os hosts na LAN sudo nmap -sP 192.168.1.0/24e adivinho qual host na saída é provavelmente o telefone. é algo como android-c0f659b6548c28b2(não o nome real do host)

  • Será android-c0f659b6548c28b2alterado em alguns casos, por exemplo, quando o telefone for reiniciado, movido para uma LAN diferente, atribuído um endereço IP diferente, ...?

  • Alguém sabe o que c0f659b6548c28b2significa? Não é o endereço Mac do telefone.

  • Posso personalizar o nome do host do telefone Android?

Obrigado.

Responder1

Será android-c0f659b6548c28b2alterado em alguns casos, por exemplo, quando o telefone for reiniciado, movido para uma LAN diferente, atribuído um endereço IP diferente, ...?

Ele só deve mudar quando você redefinir o telefone para os padrões de fábrica (o que também pode acontecer como um efeito colateral do desbloqueio do bootloader).

Na linha de comando, ele pode ser consultado pelo getprop net.hostnamecomando.

A string a seguir android-é aANDROID_IDde Settings.Secure, que éaleatoriamentegerado quando você usa seu telefone pela primeira vez e é armazenado na /datapartição [1]:

- em versões mais antigas, no /data/data/com.android.providers.settings/databases/settings.dbbanco de dados sqlite3.

- nas versões mais recentes, no /data/system/users/USERID/settings_secure.xmlarquivo; observe que o USERIDnão está relacionado a uids unix.

Mesmo versões mais recentes (> 8,0) faça a ANDROID_IDcombinação exclusiva da chave de assinatura do dispositivo/usuário/aplicativo e dispense completamente o net.hostname, que não é mais usado pelo cliente dhcp.

Alguém sabe o que significa c0f659b6548c28b2? Não é o endereço Mac do telefone.

Deve ser aleatório.

Posso personalizar o nome do host do telefone Android?

Não sem fazer o root [2], caso em que setprop net.hostname preferred_hostnamecom os privilégios certos [3] deveria fazê-lo.

[1] Que é limpo em uma redefinição de fábrica.

[2] Alguns dispositivos têm uma opção para isso em "Configurações/Opções do desenvolvedor", mas não consegui encontrá-la em nenhum dos meus dispositivos.

[3] Versões mais recentes do Android eliminam recursos e usam o SELinux extensivamente, portanto, simplesmente tornar-se root pode não ser suficiente.

informação relacionada