User Tools

Site Tools


wiki:linux:comandos:comando_ssh_scp

Exemplos dos comandos ssh e scp

Nível Básico

  • Conectar-se a um servidor remoto com `ssh`:
    1. ssh usuario@servidor_remoto
    2. Conecta-se ao servidor `servidor_remoto` com o usuário `usuario`.
  • Copiar um arquivo para um servidor remoto com `scp`:
    1. scp arquivo.txt usuario@servidor_remoto:/caminho/destino/
    2. Copia o arquivo `arquivo.txt` para o diretório `/caminho/destino/` no servidor remoto.
  • Copiar um arquivo de um servidor remoto para a máquina local com `scp`:
    1. scp usuario@servidor_remoto:/caminho/arquivo.txt ./
    2. Copia o arquivo `arquivo.txt` do servidor remoto para o diretório atual da máquina local.
  • Conectar-se a um servidor remoto em uma porta diferente com `ssh`:
    1. ssh -p 2222 usuario@servidor_remoto
    2. Conecta-se ao servidor `servidor_remoto` usando a porta `2222` em vez da porta padrão `22`.

Nível Intermediário

  • Executar um comando remotamente usando `ssh`:
    1. ssh usuario@servidor_remoto 'comando_a_ser_executado'
    2. Conecta-se ao servidor e executa o comando `comando_a_ser_executado` no servidor remoto sem iniciar um shell interativo.
  • Copiar um diretório inteiro para um servidor remoto com `scp`:
    1. scp -r /caminho/diretorio usuario@servidor_remoto:/caminho/destino/
    2. Copia recursivamente o diretório local `/caminho/diretorio` para o servidor remoto.
  • Transferir múltiplos arquivos de uma só vez com `scp`:
    1. scp arquivo1.txt arquivo2.txt usuario@servidor_remoto:/caminho/destino/
    2. Copia os arquivos `arquivo1.txt` e `arquivo2.txt` para o servidor remoto.
  • Transferir um arquivo através de uma porta específica com `scp`:
    1. scp -P 2222 arquivo.txt usuario@servidor_remoto:/caminho/destino/
    2. Usa a porta `2222` para transferir o arquivo para o servidor remoto.
  • Encaminhar portas locais para o servidor remoto com `ssh` (Port Forwarding):
    1. ssh -L 8080:localhost:80 usuario@servidor_remoto
    2. Encaminha a porta local `8080` para a porta `80` do servidor remoto, permitindo acessar o serviço do servidor localmente.

Nível Avançado

  • Executar um comando como superusuário no servidor remoto com `ssh`:
    1. ssh usuario@servidor_remoto 'sudo comando_a_ser_executado'
    2. Conecta-se ao servidor remoto e executa um comando como superusuário (`sudo`).
  • Copiar arquivos grandes com verificação de progresso com `scp`:
    1. scp -v arquivo_grande.iso usuario@servidor_remoto:/caminho/destino/
    2. Exibe o progresso detalhado da transferência do arquivo `arquivo_grande.iso` para o servidor remoto.
  • Usar uma chave SSH específica para conectar com `ssh`:
    1. ssh -i ~/.ssh/minha_chave.pem usuario@servidor_remoto
    2. Conecta-se ao servidor remoto usando a chave privada `minha_chave.pem`.
  • Transferir um arquivo de um servidor para outro usando `scp`:
    1. scp usuario1@servidor1:/caminho/arquivo.txt usuario2@servidor2:/caminho/destino/
    2. Copia o arquivo de um servidor remoto para outro servidor remoto diretamente.
  • Copiar arquivos entre servidores intermediários com `ssh` e `scp` (ProxyCommand):
    1. scp -o ProxyCommand="ssh usuario@proxy nc servidor_final 22" arquivo.txt usuario@servidor_final:/caminho/destino/
    2. Usa um servidor intermediário (proxy) para transferir arquivos ao destino final.
  • Transferir arquivos grandes com compressão habilitada via `scp`:
    1. scp -C arquivo_grande.tar.gz usuario@servidor_remoto:/caminho/destino/
    2. Usa compressão para transferir o arquivo `arquivo_grande.tar.gz` de forma mais eficiente.

Nível Especializado

  • Criar um túnel SSH reverso com `ssh`:
    1. ssh -R 9090:localhost:80 usuario@servidor_remoto
    2. Cria um túnel reverso onde a porta `9090` no servidor remoto é redirecionada para a porta `80` da máquina local.
  • Montar um diretório remoto via SSH usando `sshfs`:
    1. sshfs usuario@servidor_remoto:/caminho/diretorio_remoto /mnt/diretorio_local
    2. Monta o diretório do servidor remoto na máquina local usando o protocolo SSH, tornando o diretório acessível como se fosse local.
  • Executar um comando em vários servidores simultaneamente usando `ssh`:
    1. for servidor in servidor1 servidor2 servidor3; do ssh usuario@$servidor 'comando_a_ser_executado'; done
    2. Executa um comando em múltiplos servidores em sequência.
  • Criar um túnel SSH para acessar serviços de rede privados com `ssh`:
    1. ssh -D 1080 usuario@servidor_remoto
    2. Cria um proxy SOCKS na porta `1080` da máquina local, permitindo encaminhar o tráfego de rede para o servidor remoto através do SSH.
  • Transferir arquivos através de múltiplos servidores com `scp` (JumpHost):
    1. scp -o "ProxyJump usuario@proxy" arquivo.txt usuario@servidor_final:/caminho/destino/
    2. Usa o comando `ProxyJump` para transferir arquivos através de um servidor intermediário para o servidor final.
  • Usar `rsync` sobre SSH para sincronizar diretórios de forma eficiente:
    1. rsync -avz -e ssh /diretorio_local usuario@servidor_remoto:/caminho/destino
    2. Sincroniza diretórios entre a máquina local e o servidor remoto usando o protocolo SSH, com compressão e preservação de permissões.
wiki/linux/comandos/comando_ssh_scp.txt · Last modified: by Wiki Administrator