SSH ( Secure Shell ) é um protocolo que permite conexão segura com outros computadores através de uma rede (por exemplo, a Internet). Dessa forma, você pode executar comandos remotamente no computador onde você está conectado, e todo o tráfego entre ambos estão criptografados. Isto significa que, mesmo que alguém copie todo o fluxo de dados entre o seu computador e o computador remoto, não será possível ser lido, visto que todo esse tráfego é cifrado, e somente tendo uma chave específica, será possível desfazer essa cifragem e finalmente entender o fluxo de dados.

Características:

  • Conexão criptografada;
  • Cópia de arquivos de forma segura;
  • Uso de FTP de forma remota;
  • Compactação de arquivos;
  • Backup remoto;
  • Entre muitas outras coisas.

Disponível em quais planos?

Em todos com suporte a PHP.

Como acessar?

Usando Windows

Você vai precisar de um programa chamado PuTTY.
Clique aqui para efetuar o download.

Veja na imagem abaixo a tela de conexão.

  • Host name ( or IP adress ) informe: ftp.nome-do-seu-dominio.com
  • Port 22
  • Connection type SSH
  • Clique em Open.

terminal SSH 2

Na tela preta pedirá a informação Login as, informe o seu usuário de FTP.
Aperte a tecla Enter de seu teclado.
Depois informe a sua senha de FTP e aperte Enter novamente.
Pronto! O acesso ao SSH foi efetuado.

terminal SSH 3

Usando GNU/Linux

Use o terminal (shell) para fazer o acesso.

Para realizar o acesso, deverá utilizar o seguinte comando em seu terminal: ssh usuá[email protected]_do_dominio.com
Aperte a tecla Enter de seu teclado.
Na sequência informe a senha de acesso de seu FTP, e aperte novamente a tecla Enter.
Pronto! O acesso ao SSH foi efetuado.

Principais comandos

OBSERVAÇÃO: PARA TODAS AS PALAVRAS QUE ESTIVEREM VERMELHAS DESTA FORMA, É NOME DE DIRETÓRIO, ARQUIVO ETC. NESTE LOCAIS É PRECISO MUDAR PARA O NOME QUE DESEJA.

Comandos de Busca

Comando: pwd
Descrição: Mostra qual é o diretório em que você se encontra — dá o caminho completo

Exemplo: pwd

Comando: cd
Descrição: Este comando é usado para navegar em diretórios. Use-o sem nenhuma opção para ir para o diretório root, seguido de um diretório existente para ir ao mesmo e seguido de 2 pontos para que volte um nível (diretório anterior).

Exemplo 1: cd (muda para o diretório root)
Exemplo 2: cd .. (muda para o diretório anterior (volta um nível)
Exemplo 3: cd / (muda para o diretório raiz)
Exemplo 5: cd imagens (muda para o diretório imagens se você estiver no nível anterior
Exemplo 6: cd /home/usr/imagens (muda para o diretório imagens partindo do início)

Comando: find
Descrição: Este comando é usado para localizar arquivos e diretórios.

Exemplo 1: find . -name arquivo.txt -print (procura o arquivo informado começando pelo diretório atual)
Exemplo 2: find . -name diretório -type d -print ( procure no servidor inteiro pelo diretório informado)
Exemplo 3: find ./ -iname *.mp3 -exec rm {} \; ( vai buscar e deletar todo arquivo .mp3 que for encontrado)
Exemplo 4: find -type f -perm 777 ( lista todos os arquivos com permissão 777 )

Comandos para Informações

Comando: quota
Descrição: Mostra a quota do servidor e quanto está sendo utilizado.

Exemplo 1: quota
Exemplo 2: quota -s (mostra as informações em Megabytes)

Comando: du
Descrição: Este comando é usado para calcular o espaço total de um diretório ou arquivo. Use-o seguido da opção -h para exibir o espaço em megabyte.

Exemplo 1: du -h (este exemplo lista todas as pastas do FTP informando o tamanho de cada uma, no final mostra o consumo total)
Exemplo 2: du -sh (neste exemplo mostra apenas o espaço consumido)
Exemplo 3: du -sh * (lista o tamanho dos arquivos da pasta atual)
Exemplo 4: du -h arquivo.txt (neste exemplo mostra o tamanho do arquivo informado)
Exemplo 5: du -h --max-depth=1 (listará o espaço consumido nos diretórios correntes)

Comando: watch container memory
Descrição: Este comando é usado para exibir a memória usada pelo site e a memória total que o site possui.

Exemplo: watch -n 1 container memory (lista em tempo real com intervalos de 1 seg a memória usada e a memória total do site)

Comando: ls
Descrição: Este comando é usado para listar arquivos, diretórios e outros no diretório onde o comando foi usado

Exemplo 1: ls
Exemplo 2: ls -l (faz com que todos os dados sejam listados em uma única linha)
Exemplo 3: ls --color (lista as pastas das cores de suas permissões)
Exemplo 4: ls -la|grep -e "^-"|wc -l (informa quantos arquivos existem no diretório corrente)
Exemplo 5: ls -lah (mostra todas as permissões das pastas e diretórios alocados na pasta onde o comando foi usado)

Comando para listar número de arquivos em uma pasta: ls diretório | wc -l

Comando cat
Descrição: Este comando irá mostrar todo o conteúdo do arquivo informado.

Exemplo: cat arquivo.txt (todas as linhas contidas no arquivo.txt serão exibidas)

Comandos de Manipulação de Arquivos

Comando: cp
Descrição: Este comando é usado para copiar diretórios e/ou arquivos.

Exemplo 1: cp arquivo.txt
Exemplo 2: cp -R /home/diretorio/root (copia o diretório informado e tudo que estiver dentro dele)

Comando: mv
Descrição: Este comando é usado para mover arquivos e diretórios para outros locais ou ainda para renomeá-los.

Exemplo 1: mv arquivo.txt arquivo2.txt (renomeia de arquivo para arquivo2)
Exemplo 2: mv arquivo.txt diretorio/(move de arquivo para diretório)
Exemplo 3: mv diretorio1/ diretorio2/ (Se diretório2 existir -> o diretório1 será movido para o diretório2   //////   Se o diretório2 não existir -> o diretório1 será renomeado)
Exemplo 4: mv diretorio/ .. (move o diretório para a pasta do nível anterior)

Comando: mkdir
Descrição: Este comando é usado para criar diretórios.

Exemplo: mkdir teste (cria o diretório teste no diretório onde se encontra)

Comando: touch
Descrição: Este comando é usado para criar arquivos.

Exemplo 1: touch teste.php (cria o arquivo teste.php no diretório onde se encontra)
Exemplo 2: touch teste.html (cria o arquivo teste.html no diretório onde se encontra)
Exemplo 3: touch teste.txt (cria o arquivo teste.txt no arquivo onde se encontra)

Comando: rm
Descrição: Este comando é usado para remover arquivos e diretórios.

Exemplo 1: rm arquivo.txt (apaga o arquivo informado)
Exemplo 2: rm -R /home/diretorio (apaga o diretório informado e tudo que estiver dentro do mesmo)
Exemplo 3: rmdir diretório (apaga o diretório informado, se o mesmo estiver vazio)

Comandos para Compactar

Comando: zip
Descrição: Este comando é usado para compactar arquivos com extensão .zip

Exemplo 1: zip nome.zip arquivo.txt (compacta o arquivo informado para um arquivo.zip criado com o nome informado)
Exemplo 2: zip -r nome.zip diretorio (compacta o diretório informado e tudo que está dentro deste diretório para um novo arquivo.zip criado com o nome informado)
Exemplo 3: zip -r nome.zip *(compacta tudo que está dentro do FTP para um novo arquivo.zip criado com o nome informado)

Comando: unzip
Descrição: Este comando é usado para descompactar arquivos com extensão .zip

Exemplo: unzip arquivo.zip

Comando: tar
Descrição: Este comando é usado para compactar/descompactar arquivos com extensão .tar, .tar.gz

Exemplo(compactar) 1: tar -zcvf nome.tar.gz arquivo.txt (compacta o arquivo informado e gera um novo arquivo.tar.gz com o nome informado)
Exemplo(compactar) 2: tar -zcvf nome.tar.gz diretorio(compacta o diretorio informado e gera um novo arquivo.tar.gz com o nome informado)
Exemplo(descompactar): tar -zxvf arquivo.tar.gz (descompacta o arquivo informado)

Comandos para Mudar Permissão

Comando: chmod
Descrição: Este comando é usado para alterar as permissões de arquivos e pastas. Use-o seguido da permissão desejada.

Exemplo 1: chmod 777 arquivo.txt
Exemplo 2: chmod 777 diretório
Exemplo 3: chmod -R 777 diretório (comando aplica a permissão no diretório e em todos os arquivos e subdiretórios presentes dentro dele)
Comando: find . -type f -exec chmod 644 '{}' \; ( altera a permissão de todos os arquivos presentes dentro do diretório em que se encontra e dos subdiretórios para 644 )
Comando: find . -type d -exec chmod 755 '{}' \; (Este comando altera a permissão do diretório em que se encontra e dos subdiretórios para 755)

Comandos de Varredura em Arquivos

Comando: grep
Descrição: Este comando é usado para buscar uma expressão dentro de um arquivo.

Exemplo: grep palavra arquivo.txt (este comando irá buscar pela palavra informada dentro arquivo informado)

Comando: sed s/textoantigo/novotexto/g arquivo
Descrição: Faz uma varredura no arquivo e troca todas as ocorrências do textoantigo por novotexto

Exemplo: sed s/oi/ola/g arquivo.txt (irá trocar todas as ocorrências oi por ola no arquivo informado)

Comando para Verificação de Vírus

Comando: clamscan
Definição: Efetua uma verificação no arquivo e/ou diretório escolhido a fim de encontrar elementos mal intencionados (vírus, malware, spyware…)

Exemplo 1: clamscan arquivo.txt (verifica o arquivo)
Exemplo 2: clamscan diretorio (verifica o diretório)
Exemplo 3: clamscan -ri diretorio(verifica o diretório e todos as subdiretórios e arquivos dentro desse diretório)
Exemplo 4: clamscan -ri * (verifica todo o FTP)

Comando de Importação de MySQL

Comando: mysql -h servidor -u usuario -psenha -D banco < arquivo.sql –verbose
Descrição: Subir o Banco para o Servidor.

Exemplo para o domínio teste.com.br: mysql -h mysql.teste.com.br -u teste -pteste123 -D teste < teste.sql --verbose

Comando de Exportação de MySQL

Comando: mysqldump -cqKQ –extended-insert=FALSE –add-locks=FALSE –add-drop-table –user=usuario –password=senha –host=servidor banco > arquivo.sql –verbose
Descrição: Baixar o Banco para a Máquina.

Exemplo para o domínio teste.com.br: mysqldump -cqKQ --extended-insert=FALSE --add-locks=FALSE --add-drop-table --user=teste --password=teste123 --host=mysql.teste.com.br teste > teste.sql --verbose

Comando para limpeza do SSH

Comando: reset
Definição: Remove todas as linhas anteriores do SSH.

Comando para saída do SSH

Comando: exit
Definição: Se for usado quando o usuário estiver logado em um servidor, o usuário é deslogado. Se estiver no SSH apenas, o programa fecha.

Permissão

Essa representação da permissão é dividida em 3 partes, que são:

– Permissão para o Dono;
– Permissão para usuários do mesmo grupo;
– Permissão para todos os usuários;

Todas essas partes terão suas próprias permissões de acordo com as configurações feitas. Essas configurações são identificadas por números ou por letras. Cada uma delas significa um tipo de permissão, que são:

  • 0 | – – – (nenhuma permissão)
  • 1 | – – x (somente execução)
  • 2 | – w – (somente escrita)
  • 3 | – w x (escrita e execução)
  • 4 | r – – (somente leitura)
  • 5 | r – x (leitura e execução)
  • 6 | r w – (leitura e escrita)
  • 7 | r w x (leitura, escrita e execução)

OBS: Quando a configuração estiver em forma de letras, pode aparecer a letra D antes das demais, essa letra significa que o objeto é um diretório.

Exemplos

Iremos utilizar o código de cores para facilitar a compreensão quanto ao dono, o grupo e os usuários:

Para permissão 644:

  • 644 ou [rw-r–r–]: dono com permissão de leitura e gravação, grupo com permissão somente de leitura, usuários com permissão somente de leitura.

Para permissão 755:

  • 755 ou [rwxr-xr-x]: dono com permissão total, grupo com permissão de leitura e excecução, usuários com permissão de leitura e excecução.

Para permissão 777:

  • 777 ou [rwxrwxrwx]: dono com permissão total, grupo com permissão total, usuários com permissão total.

Principais tipos de permissão

Precisamos saber qual tipo de permissão é necessária para cada tipo de arquivo, pois uma permissão mal aplicada poderá acarretar em problemas futuros. Muito cuidado com a permissão ”chmod 777”, pois você dará permissões plenas (leitura, gravação e execução) a todos os usuários, e essa falha de segurança pode ocasionar-lhe muitos problemas.

chmod 604 [arquivo] (para arquivos HTML)
chmod 705 [nomedopasta] (para pastas)
chmod 755 [arquivo] (script e programas)
chmod 606 [arquivo] (permissão para arquivos de dados usados por scripts)
chmod 703 [nomedopasta] (permissão para escrita no FTP público)

Corrigindo permissões de forma global

O padrão é manter permissão 644 para arquivos e 755 para as pastas.
Podemos fazer isso facilmente por SSH rodando os comandos abaixo:

Setar permissão 644 nos arquivos:

find . -type f -exec chmod 644 '{}' \;

Setar permissão 755 nas pastas:

find . -type d -exec chmod 755 '{}' \;