
Meu telefone Android 4.4.2 (é antigo, mas não pode ser atualizado) executa um servidor SSH pelo aplicativo SimpleSSHD. Ele gera senhas aleatórias diferentes a cada login, o que é muito inconveniente para mim como usuário cliente. Então, eu gostaria de usar autenticação de chave pública.
Anteriormente, gerei um par de chaves públicas e privadas para acessar um servidor SSH. Acho que não há problema em reutilizar o par de chaves, então copio o arquivo da chave pública para o telefone Android:
$ ssh-copy-id -p 2222 192.168.1.87
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/t/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:
restorecon: invalid option -- F
usage: restorecon [-nrRv] pathname...
Depois disso, ainda preciso digitar senhas aleatórias geradas pelo servidor para fazer login.
Copiar o arquivo de chave pública para o telefone Android não funciona?
Em qual diretório do telefone Android deve ir o arquivo de chave pública?
Obrigado.
Responder1
Este não é um problema com o Android. Acredito que a convenção de inserir chaves ~/.ssh/authorized_keys
vem do OpenSSH. Não acredito que faça parte do padrão (RFCs). SimpleSSHDtem uma convenção diferente:
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_keys
no diretório inicial (não usessh-copy-id
)- Opcionalmente, faça .profile
A inferência disso é que seus arquivos de chaves autorizadas ~/authorized_keys
não deveriam ser ~/.ssh/authorized_keys
.
ssh-copy-id
parece assumir que todo servidor é um servidor OpenSSH. Como você já definiu sua chave pública usando ssh-copy-id
, basta fazer login e executar:
mv ~/.ssh/authorized_keys ~