Como posso acessar meu telefone Ubuntu pelo ssh?

15

Sempre que eu tento executar apt-get install openssh-server , recebo os seguintes erros:

root@ubuntu-phablet:/home/hablet# apt-get install openssh-server
W: Not using locking for read only lock file /var/lib/dpkg/lock
E: Unable to write to /var/cache/apt
E: The package lists or status file could not be parsed or opened.
    
por user195123 22.09.2013 / 15:56

6 respostas

26

Com o lançamento final oficial, o Ubuntu for Phones traz a ferramenta "android-gadget-service", com a qual você pode gerenciar adb, mtp, tethering USB e ssh.

Conecte seu dispositivo via USB, ative o Modo de desenvolvedor em:

"Configurações do sistema- > Sobre este telefone > Modo de desenvolvedor"

... e corra (do seu PC, certifique-se de ter a tela do telefone desbloqueada, senão o adb se recusará a deixá-lo entrar):

adb shell android-gadget-service enable ssh

Copie sua chave pública para o telefone:

adb shell mkdir /home/phablet/.ssh
adb push ~/.ssh/id_rsa.pub /home/phablet/.ssh/authorized_keys
adb shell chown -R phablet.phablet /home/phablet/.ssh
adb shell chmod 700 /home/phablet/.ssh
adb shell chmod 600 /home/phablet/.ssh/authorized_keys

Agora você pode procurar seu IP no telefone e usar o ssh para se conectar:

adb shell ip addr show wlan0|grep inet
ssh phablet@<IP from above command>
    
por ogra 20.03.2015 / 09:34
15

Para ativar o acesso ssh totalmente por Wi-Fi , sem o modo de desenvolvedor no telefone, sem qualquer ferramenta especial no seu computador e sem usar USB :

  1. Se você ainda não tiver um par de chaves ssh, digite ssh-keygen no seu computador e siga as instruções para gerar um.
  2. Instale o aplicativo Terminal no telefone da App Store.
  3. Abra um Terminal e digite (isso é mais fácil com o telefone em uma orientação paisagem):

    sudo setprop persist.service.ssh true
    mkdir -pm700 ~/.ssh
    ip addr
    nc -l 1234 > ~/.ssh/authorized_keys
    

    (o último comando será interrompido; isso é esperado)

  4. Procure o endereço IP do seu telefone no Terminal, conforme retornado pelo comando ip addr acima.

  5. No seu computador, digite (substituindo 192.0.2.1 pelo endereço IP do seu telefone acima):

    nc 192.0.2.1 1234 < ~/.ssh/id_rsa.pub
    

    Se for bem-sucedido, o último comando no terminal do seu telefone será bem-sucedido.

  6. No seu computador, digite (novamente substituindo 192.0.2.1 pelo endereço IP do seu telefone acima):

    ssh [email protected]
    
  7. Se o endereço IP do seu telefone mudar, você precisará usar ip addr no aplicativo Terminal em seu telefone novamente e ajustar seu comando ssh adequadamente.

por Robie Basak 27.03.2015 / 12:48
13
O

servidor OpenSSH é agora (a partir de 13 de setembro de 2013) pré-carregado com a instalação do Ubuntu Touch . No entanto, também é desativado por padrão . Você também não quer que o SSH opere a partir de root .

Você precisa digitar o seguinte, usando uma conexão USB para o dispositivo:

adb shell
su - phablet
sudo tee /etc/init/ssh.override < /dev/null

Para reverter para desativado

echo "manual" | sudo tee /etc/init/ssh.override

ATUALIZAÇÃO: (09-mar-2014)

A resposta acima não é mais atual.

  • No início de março de 2014, enquanto o arquivo /etc/init/ssh.override ainda existe, a alteração de seu conteúdo não permite que o SSH (na verdade, o daemon sshd ) seja executado na inicialização.

  • As compilações recentes (testadas para 226 , mas possivelmente anteriores) agora suportam um novo meta-sinalizador persist.service.ssh , para permitir SSH (< daemon strong> sshd ) para reiniciar na inicialização.

Entre no prompt de comando (no dispositivo)

adb shell
su - phablet

Inicie o SSH e defina o sinalizador

sudo service ssh start
sudo setprop persist.service.ssh true

Reinicie o dispositivo

sudo reboot

O daemon SSH deve iniciar automaticamente

sudo service ssh status

Para desativar o início automático de SSH, altere o sinalizador:

sudo setprop persist.service.ssh false
    
por david6 23.09.2013 / 10:13
0

Tente torná-lo gravável e reinicialize:

touch /userdata/.writable_image

Editar: ao criá-lo, use as opções --pending Atualizações do phablet-flash

Editar: Sistema imagens agora a maneira recomendada de implantar e atualizar o Ubuntu Touch

    
por wojox 22.09.2013 / 18:30
0

Instale o Ubuntu SDK e clique em "Abrir conexão SSH do dispositivo" no painel de dispositivos. Bônus: você não resistirá a escrever um novo escopo ...

    
por Beernarrd 27.03.2015 / 22:16
0

Acabei de encontrar um caminho mais rápido (rápido e sujo) (Atenção: não é seguro!) :

1) Instale o aplicativo do terminal e abra-o

2) mude para a raiz

sudo su

(digite sua senha de bloqueio de tela)

2) Digite os seguintes comandos:

echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config
echo "AllowUsers phablet" >> /etc/ssh/sshd_config
/usr/sbin/sshd

Agora o seu servidor ssh está rodando e ele aceitará seu código de bloqueio de tela como uma senha! Atenção: é muito fácil para a força bruta agora! Por favor, altere suas configurações imediatamente (agora você pode fazê-lo de uma forma confortável, depois de se conectar via ssh do seu PC).

Como você executa o sshd manualmente, o arquivo /etc/init/ssh.override não é mais aplicado ...

Então, para se conectar a partir do seu PC:

ssh [email protected]

em que x.x.x.x é um endereço IP do seu telefone, que você pode encontrar digitando

ifconfig

no terminal do seu telefone.

Aproveite!

UPDATE : pode ser que, após a atualização, o sshd falhe ao iniciar porque não é possível abrir as chaves do host, apenas regenere-as:

/usr/bin/ssh-keygen -A

Se falhar porque / var / run / sshd está faltando, basta criá-lo:

mkdir /var/run/sshd
chmod 755 /var/run/sshd
    
por Andrey Sapegin 28.07.2016 / 21:13