SSH (Secure Shell) é um protocolo seguro para login remoto, transferência de dados e execução de comandos. Alguns usos comuns de comandos SSH estão listados abaixo:
- Conecte-se ao host remoto:
ssh username@hostname
onde username
é o nome de usuário do host remoto ao qual você deseja se conectar e hostname
é o endereço IP ou nome do host remoto. O parâmetro pode ser omitido se você estiver usando a porta SSH padrão (22) -p
.
- Especifique um número de porta não padrão para se conectar:
ssh -p port_number username@hostname
onde port_number
é o número da porta do serviço SSH no host remoto ao qual você deseja se conectar.
- Conecte-se a um host remoto usando autenticação de chave pública:
ssh -i private_key_file username@hostname
onde private_key_file
é o caminho para seu arquivo de chave privada.
- Comprimir o tráfego na conexão:
ssh -C username@hostname
Isso pode melhorar a eficiência em ambientes de rede com largura de banda limitada.
- Encaminhe a porta local para o host remoto:
ssh -L local_port:remote_host:remote_port username@hostname
onde local_port
é o número da porta local na qual você deseja escutar remote_host
e remote_port
é o host remoto e o número da porta aos quais deseja se conectar.
- Encaminhe a porta do host remoto para o localhost:
ssh -R remote_port:local_host:local_port username@hostname
onde remote_port
é o número da porta remota na qual você deseja escutar local_host
e local_port
é o host local e o número da porta à qual deseja se conectar.
- Execute um único comando em uma conexão:
ssh username@hostname command
onde command
é o comando que você deseja executar no host remoto.
- Saia da conexão SSH:
exit
- Copie os arquivos locais para o host remoto:
scp file_name username@hostname:/remote/directory
onde file_name
é o caminho para o arquivo local e /remote/directory
é o diretório no host remoto para o qual você deseja copiar o arquivo.
- Copie arquivos do host remoto para o local:
scp username@hostname:/remote/file_path local_path
onde remote/file_path
é o caminho do arquivo no host remoto e local_path
é o caminho de destino no computador local.
- Use o comando tar para compactar arquivos em um host remoto:
ssh username@hostname "tar -czvf archive.tar.gz /path/to/directory"
- Descompacte os arquivos compactados no host remoto no computador local:
scp username@hostname:/remote/archive.tar.gz /local/directory
cd /local/directory
tar -xzvf archive.tar.gz
- Exiba as informações da chave pública do usuário atual:
ssh-add -l
- Adicione a nova chave privada ao agente SSH:
ssh-add path/to/private_key_file
- Exclua a chave privada do agente SSH:
ssh-add -d path/to/private_key_file
- Exibir o endereço IP do usuário atual:
curl ifconfig.me
- Exiba as versões SSH disponíveis no host remoto:
ssh -v username@hostname
- Conecte-se ao host remoto e inicie o programa GUI remoto:
ssh -X username@hostname program_name
onde program_name
é o nome do programa GUI que você deseja iniciar no host remoto.
- Use o comando rsync para sincronizar o diretório local com o host remoto:
rsync -a /local/directory/ username@hostname:/remote/directory/
- Exiba uma lista de processos em execução em um host remoto:
ssh username@hostname ps aux
- Use o comando rsync para sincronizar o diretório no host remoto com o local:
rsync -a username@hostname:/remote/directory/ /local/directory/
- Conecte-se ao host remoto e mapeie a porta remota:
ssh -L local_port:remote_service:remote_port username@hostname
onde local_port
é o número da porta que você deseja escutar em seu computador local, remote_service
é o nome do serviço remoto ao qual você deseja se conectar e remote_port
é o número da porta no host remoto no qual o serviço está escutando.
- Liste todos os usuários no host remoto:
ssh username@hostname getent passwd
- Crie um novo usuário no host remoto:
ssh username@hostname sudo adduser new_user_name
- Excluir um usuário em um host remoto:
ssh username@hostname sudo deluser user_name
- Modifique a senha do usuário no host remoto:
ssh username@hostname sudo passwd user_name
- Exibir informações do sistema em um host remoto:
ssh username@hostname uname -a
- Copie uma pasta em seu computador local para um host remoto:
scp -r local_directory username@hostname:/remote/directory
- Instale o pacote no host remoto:
ssh username@hostname sudo apt-get install package_name
- Desinstale um pacote de um host remoto:
ssh username@hostname sudo apt-get remove package_name
- Atualizar pacotes em hosts remotos:
ssh username@hostname sudo apt-get update
- Atualizar pacotes em hosts remotos:
ssh username@hostname sudo apt-get upgrade
- Conecte-se ao host remoto e execute o comando como root:
ssh username@hostname sudo command
onde command
é o comando que você deseja executar como root no host remoto.
- Conecte-se a um host remoto usando SSH e redirecione arquivos locais para arquivos no host remoto:
cat local_file | ssh username@hostname "cat > remote_file"
onde local_file
é o caminho do arquivo local e remote_file
é o caminho do arquivo que você deseja criar ou sobrescrever no host remoto.
- Exibir o histórico de conexão de um computador em um host remoto:
history
- Crie um novo diretório no host remoto:
ssh username@hostname mkdir directory_name
onde directory_name
é o nome do diretório que você deseja criar no host remoto.
- Exclua o diretório no host remoto:
ssh username@hostname rmdir directory_name
- Copie o diretório no host remoto:
ssh username@hostname cp -r source_directory target_directory
onde source_directory
é o diretório que você deseja copiar e target_directory
é o diretório para o qual deseja copiar o diretório.
- Mova ou renomeie um arquivo ou diretório em um host remoto:
ssh username@hostname mv old_file_or_directory new_file_or_directory
onde old_file_or_directory
é o arquivo ou diretório existente que você deseja renomear ou mover e new_file_or_directory
é o novo nome ou destino do arquivo ou diretório.
- Encontre um arquivo ou diretório específico em um host remoto:
ssh username@hostname find /path/to/directory -name "filename.txt"
onde /path/to/directory
é o diretório inicial do arquivo que você está procurando e filename.txt
é o nome do arquivo que você está procurando.
- Exibir todos os pacotes instalados em um host remoto:
ssh username@hostname dpkg --list
- Exibir informações da CPU do sistema em um host remoto:
ssh username@hostname cat /proc/cpuinfo
- Exibir informações de memória do sistema em um host remoto:
ssh username@hostname cat /proc/meminfo
- Exibir informações sobre os serviços em execução no sistema no host remoto:
ssh username@hostname systemctl list-units --type service
- Exibir o histórico de login do usuário atual em um host remoto:
ssh username@hostname last
- Exibir todas as interfaces de rede disponíveis em um host remoto:
ssh username@hostname ip link show
- Exibir todos os discos e sistemas de arquivos montados em um host remoto:
ssh username@hostname lsblk
- Exibir uma lista de dispositivos PCI instalados em um host remoto:
ssh username@hostname lspci
- Exibir uma lista de dispositivos USB instalados em um host remoto:
ssh username@hostname lsusb
- Exibir todos os dispositivos de rede instalados em um host remoto:
ssh username@hostname ifconfig -a
Esses comandos podem ser usados de acordo com as necessidades reais para concluir tarefas específicas.