SSH

De Wiki Hostnet
Ir para: navegação, pesquisa
Terminal1.png


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.


Tabela de conteúdo

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.


Putty wiki ssh.gif


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


Putty wiki conexao 2.png


Usando GNU/Linux

Use o terminal (shell) para fazer o acesso.

O acesso deve ser feito usando o comendo: ssh usuário_de_ftp@ftp.nome_do_dominio.com
No exemplo da imagem abaixo usamos o comando: ssh leobarros@leobarros.x-br.com
Neste exemplo leobarros é o usuário de FTP e leobarros.x-br.com o nome do domínio.
Depois em password informe a senha de FTP e aperte enter no teclado.
Pronto! O acesso ao SSH foi feito.


Ssh login wiki.png


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


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 -iname arquivo.txt (procura o arquivo informado no diretório que se encontra)
Exemplo 2: find / -name arquivo.txt -print (procura em todo servidor pelo arquivo informado)
Exemplo 3: find . -name arquivo.txt -print (procura o arquivo informado começando pelo diretório atual)
Exemplo 4: find -name /home/diretorio (procura o diretório informado no diretório atual)
Exemplo 5: find / -name diretório -type d -print (procure no servidor inteiro pelo diretório informado)


Comando: locate
Descrição: Este comando é usado para localizar arquivos e diretórios.
Exemplo: locate teste.txt

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 -h arquivo.txt (neste exemplo mostra o tamanho do arquivo informado)
Exemplo 4: du -h --max-depth=2 ( listará o espaço consumido dos diretórios em segundo nível )


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 -lah (mostra todas as permissões das pastas e diretórios alocados na pasta onde o comando foi usado)


Comando: find -type f -perm 777
Descrição: lista todos os arquivos com permissão 777

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: 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)


Comando: find ./ -iname *.mp3 -exec rm {} \;
Descrição: Este comando vai buscar e deletar todo arquivo .mp3 que for encontrado.

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 '{}' \;
Descrição: Este comando 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 '{}' \;
Descrição: Este comando altera a permissão do diretório em que se encontra e dos subdiretórios para 755.

Comandos para Alteração 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

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 para limpeza do SSH

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

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 '{}' \;


Veja nosso vídeo sobre SSH

Veja também:


Links úteis:



Tutor-hospedagem.png

Ferramentas pessoais
Espaços nominais
Variantes
Ações
Navegação
Ferramentas