Acessando o seu Android de forma rápida e segura via SSH

5 de agosto de 2011

Quando se adquire um telefone celular ou smartphone ou tablet, geralmente, vêm agregado vários acessórios ao produto: o cabo de dados é utilizado para realizar transferência de arquivos entre o aparelho adquirido e um computador, PC.

Alguns aparelhos trazem softwares para que sejam instalados no computador e possam realizar a transferência dos arquivos.

Como o sistema operacional Android, hoje, está presente em milhões de smartfones e tablet’s e a maioria possui acesso WiFi, nada mais fácil do que aproveitar as facilidades que o aparelho dispõe para desfrutar da comodidade, dispensando cabos e instalações de softwares proprietários – que muitas vezes funcionam para todos os sistemas operacionais, excluindo a família Unix, com exceção do OSX –.

O SSH – Secure Shell – é uma ferramenta de acesso remota bem poderosa e muito utilizada pelos administradores de redes e usuários de sistema Linux e afins. Esse é uma espécie de TELNET, porém com criptografia e outras “guloseimas” mais.

Demonstrarei, basicamente, duas maneiras para realizar a transferência de arquivos, uma em moto texto – através do terminal de comandos – e outra em modo gráfico – utilizando o Nautilus – gerenciador de arquivos padrão do Ubuntu.

Este texto foi escrito baseando-se na distro Ubuntu (11.04) – utiliza o ambiente gráfico Gnome como patrão e o gerenciador de arquivos Nautilus –. Usuários de outras distribuições poderão basear-se neste texto, pois a utilização em outros gerenciadores de arquivos é bem semelhante. Quem for utilizar o terminal de comandos não terá problema algum, porque a execução dos comandos é exatamente a mesma em qualquer distro.

 
Instalação e configuração

Creio que usuários do Ubuntu não precisarão instalar nem configurar nada, mas para conferir se está com o programa instalado, poderá fazê-lo agora. O programa, único, que será utilizado para realizar a comunicação entre o aparelho celular e o computador, PC, é o SSH, os demais – para o modo gráfico – são apenas uma “capa” para auxiliar na utilização.

Será preciso instalar apenas o OpenSSH-Client no computador, o servidor (SSH) estará rodando no celular/tablet.

Abra um terminal de comandos da sua preferência e digite o seguinte comando para verificar se o openssh-clien já se encontra instalado.

$ sudo apt-get install openssh-client

Caso não esteja instalado, será feito.

No Android, acesse o Markert, procure por SSHDroid e instale.

Obs.: É preciso que o root esteja liberado para acesso no celular. Caso não saiba o que significa isso ou como liberar acesso ao root no seu Android, pesquise no Google que encontrará “milhões” de tutoriais explicando como fazer.

 

SSHDroid

Comece acessando o SSHDroid que foi instalado em seu Android. Basicamente você não precisará efetuar nenhuma configuração, a única coisa que alterei foi a senha do root – que por padrão é admin –. Caso queira alterar algo como a porta de acesso – o padrão é 22 –, basta acessar as opções e configurar a seu gosto.

Programa instalado e serviço rodando, você terá uma tela semelhante à exibida abaixo:

 

O programa em si é bem simples e você não precisará realizar nenhuma configuração “mirabolante”. Na imagem acima é exibido a rede que o celular encontra-se conectado. A minha rede (WiFi Connection) é a 666; o endereço (Address) para se conectar já é exibido direto na tela e como pode ser acessado, ou seja, sftp://root@[endereço IP]:[Porta]; também é exibido um status, que de acordo com a imagem acima está como conectado (ready).

 

Manipulando arquivos em modo texto

Como sei que muitos devem ignorar essa parte, provavelmente, por acharem demorada e até complexa, resolvi colocá-la antes para que uma leitura possa ser realizada. Para aqueles que acham o terminal um “bicho de sete cabeças”, digo que é muito mais rápido – dependendo do que for realizado – e prático, trabalhar com os arquivos diretamente no terminal de comandos do que utilizar um gerenciador gráfico para efetuar a mesma tarefa.

Para quem for utilizar apenas o terminal de comandos e, assim, facilitar enxergar o que encontra-se no cartão de memória, recomendo logar no celular via ssh e com apenas um comando (ls) você poder visualizar onde encontram-se os diretórios e arquivos. Se preferir pode realizar essa visualização direto no gerenciador de arquivos do celular.

Obs.: Mude o IP para o referente que estiver aparecendo no seu celular no aplicativo SSHDroid.

(Logar no Android)

$ ssh root@192.168.1.101

(Listar os arquivos do cartão de memória)

# ls /sdcard/

(Entrar em um diretório)

# cd /sdcard/Documentos

(Voltar um ou mais diretórios)

# cd ..

ou

# cd ../..

(Remover um diretório ou um arquivo (não precisa da opção ‘-r’))

# rm -r /sdcard/teste

(Criar um diretório)

# mkdir /sdcard/Músicas

(Localizar o seu caminho. Saber aonde se encontra)

# pwd

Com os comandos acima você já será capaz de fazer uma boa manipulação ou gerência dos seus arquivos, diretamente no celular.

Primeiro você precisa saber onde encontra-se o seu cartão de memória. Ele está localizado em /sdcard. Sabendo disso, fica fácil copiar arquivos de um lado para o outro. Veja abaixo um exemplo:

 

Copiando arquivos do computador para o celular

Os comando abaixo deverão ser executados, de preferência, na sua máquina e não no ssh do celular.

(Copiando algumas músicas para o celular)

tales@neit:~$ scp -r ~/Música/novas/* root@192.168.1.101:"/sdcard/Músicas/Anos 80"
SSHDroid
Use 'root' on rooted devices otherwise any username works
Default password is 'admin'root@192.168.1.101's password:
Bruce Springsteen - Best of - Glory Days.mp3                      100% 3584KB 128.0KB/s   00:28
Bryan Adams - So Far So Good - Heaven.mp3                         100% 5718KB 127.1KB/s   00:45
Glenn Frey - The Allnighter - The Heat Is On.mp3                  100% 3576KB 137.6KB/s   00:26

Explicando o comando acima, temos:

tales@neit:~$ (Meu terminal aguardando a entrada de um comando)

scp -r (É o comando utilizado para copiar diretório ou arquivos (não precisa usar a opção ‘-r’, é usada para copiar diretórios) via ssh)

~/Música/novas/* (O til é minha $HOME, Música é um diretório que tenho no meu computador e “novas” um diretório dentro de Música; o asterisco(*) depois da barra (/) é para copiar todos os arquivos que ali se encontram)

root@192.168.1.101 (É o caminho, endereço, ssh do meu celular)

/sdcard/Músicas/Anos 80 (Local do celular que desejo copiar as músicas)

Ok, talvez manipular ou gerenciar os arquivos pelo terminal, para quem não tem prática, poderá ser confuso e trabalhoso, mas é interessante sempre saber um modo alternativo, não sabemos do que iremos precisar, não é mesmo?!

Veja, abaixo, o exemplo acima sendo executado em um vídeo:


Gerenciando arquivos pelo Nautius, Ubuntu

Se teve vários passos e comandos para gerenciar arquivos de forma textual, no modo gráfico terá apenas um.

Abra o gerenciador de arquivos, tecle [CTRL+L] e na barra de endereços digitem:

(Altere apenas o IP para o que aparece no SSHDroid)

sftp://root@192.168.1.101:22

Logo depois aperte [ENTER]

Obs.: Na primeira execução do ssh será pedido para confirmar a gravação da chave de criptografia, basta aceitar.


Será exibida uma tela para digitar a senha do SSHDroid. Digite, escolha uma opção e clique em Conectar.

Em seguida entre na pasta sdcard e lá, imediatamente, acessará os seus arquivos, sendo possível copiar, mover, apagar, executar.. como se os arquivos estivessem localmente em sua máquina.

Veja, abaixo, o exemplo acima sendo executado em um vídeo:

Manipulando arquivos pelo Dolphin, KDE

Para acesso no Dolphin, mude apenas o parâmetro a ser executado na barra de endereços, de ssh:// para fish://

Exemplo para acessar, tecle [CTLR+L] e digite na barra de endereços:

(Altere apenas o IP para o que aparece no SSHDroid)

fish://root@192.168.1.101:22

Em seguida tecle [ENTER]

A gerência dos arquivos é feita da mesma maneira que ocorre no gerenciador de arquivos do Ubuntu, o Nautilus.

Quando se adquire um telefone celular ou smartphone ou tablet, geralmente, vêm agregado vários acessórios ao produto: o cabo de dados é utilizado para realizar transferência de arquivos entre o aparelho adquirido e um computador, PC.

Alguns aparelhos trazem softwares para que sejam instalados no computador e possam realizar a transferência dos arquivos.

Como o sistema operacional Android, hoje, está presente em milhões de smartfones e tablet’s e a maioria possui acesso WiFi, nada mais fácil do que aproveitar as facilidades que o aparelho dispõe para desfrutar da comodidade, dispensando cabos e instalações de softwares proprietários – que muitas vezes funcionam para todos os sistemas operacionais, excluindo a família Unix, com exceção do OSX –.

O SSH – Secure Shell – é uma ferramenta de acesso remota bem poderosa e muito utilizada pelos administradores de redes e usuários de sistema Linux e afins. Esse é uma espécie de TELNET, porém com criptografia e outras “guloseimas” mais.

Demonstrarei, basicamente, duas maneiras para realizar a transferência de arquivos, uma em moto texto – através do terminal de comandos – e outra em modo gráfico – utilizando o Nautilus – gerenciador de arquivos padrão do Ubuntu.

Este texto foi escrito baseando-se na distro Ubuntu (11.04) – utiliza o ambiente gráfico Gnome como patrão e o gerenciador de arquivos Nautilus –. Usuários de outras distribuições poderão basear-se neste texto, pois a utilização em outros gerenciadores de arquivos é bem semelhante. Quem for utilizar o terminal de comandos não terá problema algum, porque a execução dos comandos é exatamente a mesma em qualquer distro.


Instalação e configuração

Creio que usuários do Ubuntu não precisarão instalar nem configurar nada, mas para conferir se está com o programa instalado, poderá fazê-lo agora. O programa, único, que será utilizado para realizar a comunicação entre o aparelho celular e o computador, PC, é o SSH, os demais – para o modo gráfico – são apenas uma “capa” para auxiliar na utilização.

Será preciso instalar apenas o OpenSSH-Client no computador, o servidor (SSH) estará rodando no celular/tablet.

Abra um terminal de comandos da sua preferência e digite o seguinte comando para verificar se o openssh-clien já se encontra instalado.

$ sudo apt-get install openssh-client

Caso não esteja instalado, será feito.

No Android, acesse o Markert, procure por SSHDroid e instale.

Obs.: É preciso que o root esteja liberado para acesso no celular. Caso não saiba o que significa isso ou como liberar acesso ao root no seu Android, pesquise no Google que encontrará “milhões” de tutoriais explicando como fazer.

 

SSHDroid

Comece acessando o SSHDroid que foi instalado em seu Android. Basicamente você não precisará efetuar nenhuma configuração, a única coisa que alterei foi a senha do root – que por padrão é admin –. Caso queira alterar algo como a porta de acesso – o padrão é 22 –, basta acessar as opções e configurar a seu gosto.

Programa instalado e serviço rodando, você terá uma tela semelhante à exibida abaixo:


O programa em si é bem simples e você não precisará realizar nenhuma configuração “mirabolante”. Na imagem acima é exibido a rede que o celular encontra-se conectado. A minha rede (
WiFi Connection) é a 666; o endereço (Address) para se conectar já é exibido direto na tela e como pode ser acessado, ou seja, sftp://root@[endereço IP]:[Porta]; também é exibido um status, que de acordo com a imagem acima está como conectado (ready).

 

Manipulando arquivos em modo texto

Como sei que muitos devem ignorar essa parte, provavelmente, por acharem demorada e até complexa, resolvi colocá-la antes para que uma leitura possa ser realizada. Para aqueles que acham o terminal um “bicho de sete cabeças”, digo que é muito mais rápido – dependendo do que for realizado – e prático, trabalhar com os arquivos diretamente no terminal de comandos do que utilizar um gerenciador gráfico para efetuar a mesma tarefa.

Para quem for utilizar apenas o terminal de comandos e, assim, facilitar enxergar o que encontra-se no cartão de memória, recomendo logar no celular via ssh e com apenas um comando (ls) você poder visualizar onde encontram-se os diretórios e arquivos. Se preferir pode realizar essa visualização direto no gerenciador de arquivos do celular.

Obs.: Mude o IP para o referente que estiver aparecendo no seu celular no aplicativo SSHDroid.


(Logar no Android)

$ ssh root@192.168.1.101

(Listar os arquivos do cartão de memória)

# ls /sdcard/

(Entrar em um diretório)

# cd /sdcard/Documentos

(Voltar um ou mais diretórios)

# cd ..

ou

# cd ../..

(Remover um diretório ou um arquivo (não precisa da opção ‘-r’))

# rm -r /sdcard/teste

(Criar um diretório)

# mkdir /sdcard/Músicas

(Localizar o seu caminho. Saber aonde se encontra)

# pwd

Com os comandos acima você já será capaz de fazer uma boa manipulação ou gerência dos seus arquivos, diretamente no celular.

Primeiro você precisa saber onde encontra-se o seu cartão de memória. Ele está localizado em /sdcard. Sabendo disso, fica fácil copiar arquivos de um lado para o outro. Veja abaixo um exemplo:

 

Copiando arquivos do computador para o celular

Os comando abaixo deverão ser executados, de preferência, na sua máquina e não no ssh do celular.

(Copiando algumas músicas para o celular)

tales@neit:~$ scp -r ~/Música/novas/* root@192.168.1.101:"/sdcard/Músicas/Anos 80"
SSHDroid
Use 'root' on rooted devices otherwise any username works
Default password is 'admin'root@192.168.1.101's password:
Bruce Springsteen - Best of - Glory Days.mp3                      100% 3584KB 128.0KB/s   00:28
Bryan Adams - So Far So Good - Heaven.mp3                         100% 5718KB 127.1KB/s   00:45
Glenn Frey - The Allnighter - The Heat Is On.mp3                  100% 3576KB 137.6KB/s   00:26

Explicando o comando acima, temos:

tales@neit:~$ (Meu terminal aguardando a entrada de um comando)

scp -r (É o comando utilizado para copiar diretório ou arquivos (não precisa usar a opção ‘-r’, é usada para copiar diretórios) via ssh)

~/Música/novas/* (O til é minha $HOME, Música é um diretório que tenho no meu computador e “novas” um diretório dentro de Música; o asterisco(*) depois da barra (/) é para copiar todos os arquivos que ali se encontram)

root@192.168.1.101 (É o caminho, endereço, ssh do meu celular)

/sdcard/Músicas/Anos 80 (Local do celular que desejo copiar as músicas)

Ok, talvez manipular ou gerenciar os arquivos pelo terminal, para quem não tem prática, poderá ser confuso e trabalhoso, mas é interessante sempre saber um modo alternativo, não sabemos do que iremos precisar, não é mesmo?!

Veja, abaixo, o exemplo acima sendo executado em um vídeo:


Gerenciando arquivos pelo Nautius, Ubuntu

Se teve vários passos e comandos para gerenciar arquivos de forma textual, no modo gráfico terá apenas um.

Abra o gerenciador de arquivos, tecle CTRL+L e na barra de endereços digitem:

(Altere apenas o IP para o que aparece no SSHDroid)

sftp://root@192.168.1.101:22

Logo depois aperte [ENTER]

Obs.: Na primeira execução do ssh será pedido para confirmar a gravação da chave de criptografia, basta aceitar.


Será exibida uma tela para digitar a senha do
SSHDroid. Digite, escolha uma opção e clique em Conectar.

Em seguida entre na pasta sdcard e lá, imediatamente, acessará os seus arquivos, sendo possível copiar, mover, apagar, executar.. como se os arquivos estivessem localmente em sua máquina.

Veja, abaixo, o exemplo acima sendo executado em um vídeo:


Manipulando arquivos pelo Dolphin, KDE

Para acesso no Dolphin, mude apenas o parâmetro a ser executado na barra de endereços, de ssh:// para fish://

Exemplo para acessar, tecle CTLR+L e digite na barra de endereços:

(Altere apenas o IP para o que aparece no SSHDroid)

fish://root@192.168.1.101:22

Em seguida tecle [ENTER]

A gerência dos arquivos é feita da mesma maneira que ocorre no gerenciador de arquivos do Ubuntu, o Nautilus.