20 comandos SSH comuns que você deve usar hoje ⋆ ALexHost SRL

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills
13.12.2024

20 comandos SSH comuns que você deve usar hoje

O SSH (Secure Shell) é um protocolo amplamente usado para acessar servidores remotos com segurança. Ele permite que você gerencie e interaja com sistemas remotos por meio de uma conexão criptografada. O domínio dos comandos básicos do SSH pode aumentar significativamente sua produtividade e facilitar o gerenciamento de servidores remotos. Abaixo estão 20 comandos SSH comuns que todo administrador de sistemas, desenvolvedor ou qualquer pessoa que trabalhe com servidores deve conhecer.

1. Conexão SSH básica

Esse comando é usado para se conectar a um servidor remoto via SSH.

ssh nome_do_usuário@hospedeiro_remoto
  • Substitua username pelo seu nome de usuário e remote_host pelo endereço IP ou nome de domínio do servidor.

Exemplo:

ssh user@example.com

2. Especificar uma porta

Por padrão, o SSH usa a porta 22. Se o seu servidor usar uma porta diferente, use o sinalizador -p para especificar a porta.

ssh -p port_number nome_do_usuário@host_remoto

Exemplo:

ssh -p 2222 user@example.com

3. Copiar arquivos do local para o remoto usando scp

Use o scp (cópia segura) para transferir arquivos de sua máquina local para um servidor remoto.

scp local_file username@remote_host:/path/to/destination

Exemplo:

scp myfile.txt user@example.com:/home/user/

4. Copiar arquivos de remoto para local usando scp

Para fazer download de arquivos de um servidor remoto para seu computador local:

scp username@remote_host:/path/to/remote_file /path/to/local_destination

Exemplo:

scp user@example.com:/home/user/remote_file.txt .

5. Copiar diretórios recursivamente usando scp

Para copiar diretórios inteiros (inclusive subdiretórios), use o sinalizador -r com o scp.

scp -r /caminho/para/local_directory nome_do_usuário@host_remoto:/caminho/para/destino_remoto

Exemplo:

scp -r minha_pasta user@example.com:/home/user/

6. Executar comandos em um servidor remoto

Você pode executar um comando em um servidor remoto sem abrir uma sessão SSH interativa.

ssh nome_do_usuário@hospedeiro_remoto ‘comando_a_executar’

Exemplo:

ssh user@example.com ‘ls -la /home/user’

7. Usar autenticação de chave SSH

Para evitar a inserção de senhas todas as vezes, você pode usar a autenticação de chave SSH.

  1. Gere um par de chaves SSH:
    ssh-keygen -t rsa
  2. Copie a chave pública para o servidor remoto:
    ssh-copy-id username@remote_host

Depois de copiar a chave, você pode fazer login sem uma senha.

8. Verificar os registros de conexão SSH

Para visualizar as tentativas de login e os registros de conexão SSH no servidor:

sudo cat /var/log/auth.log | grep ‘sshd’

Esse comando é útil para monitorar tentativas de login não autorizadas.

9. Tunelamento SSH (encaminhamento de porta)

O tunelamento SSH permite que você encaminhe o tráfego de uma porta local para um servidor remoto com segurança.

Encaminhamento de porta local:

ssh -L porta_local:host_remoto:porta_remoto nome de usuário@host_remoto

Exemplo: Encaminhar a porta local 8080 para a porta 3306 em um servidor remoto.

ssh -L 8080:localhost:3306 user@example.com

Encaminhamento de porta remota:

ssh -R remote_port:local_host:local_port nome de usuário@remote_host

10. SSH no servidor remoto com um arquivo de identidade diferente

Se você tiver várias chaves SSH, poderá especificar uma chave específica com o sinalizador -i.

ssh -i /path/to/private_key username@remote_host

Exemplo:

ssh -i ~/.ssh/id_rsa user@example.com

11. Copiar arquivos usando o rsync por SSH

o rsync é uma ferramenta mais avançada do que o scp para copiar arquivos e diretórios.

rsync -avz /caminho/para/diretório_local nome_do_usuário@hospedeiro_remoto:/caminho/para/diretório_remoto

Exemplo:

rsync -avz minha_pasta/ user@example.com:/home/user/

O sinalizador -a preserva as permissões de arquivo, -v é para saída detalhada e -z ativa a compactação.

12. Verificar o status da conexão SSH

Para verificar se a conexão SSH com um servidor remoto ainda está ativa:

ssh -O check username@remote_host

Esse comando verifica o status da conexão sem interrompê-la.

13. Listar conexões SSH ativas

Para listar as conexões SSH ativas em um servidor, você pode usar:

who

Ou:

w

Esses comandos mostram quais usuários estão conectados ao servidor no momento.

14. Encerrar uma sessão SSH

Para sair de uma sessão SSH, basta digitar:

exit

Ou pressione Ctrl D.

15. Configurar um proxy SOCKS com SSH

O SSH pode atuar como um proxy SOCKS, permitindo que você navegue na Internet com segurança por meio do túnel SSH.

ssh -D local_port username@remote_host

Exemplo:

ssh -D 8080 user@example.com

Em seguida, defina as configurações de proxy do seu navegador como localhost:8080 para usar o proxy SOCKS.

16. Encaminhamento de agente SSH

Se você quiser usar suas chaves SSH locais em um servidor remoto:

  1. Inicie o agente SSH em seu computador local:
    eval $(ssh-agent)
    ssh-add ~/.ssh/id_rsa
  2. Conecte-se com o encaminhamento do agente:
    ssh -A nome_de_usuário@hospedeiro_remoto

Isso permite que você faça SSH do servidor remoto para outro servidor usando sua chave local.

17. Arquivo de configuração SSH

Para simplificar as conexões SSH, você pode criar um arquivo de configuração:

  1. Edite ou crie ~/.ssh/config:
    nano ~/.ssh/config
  2. Adicione uma entrada:
    Host myserver
    HostName example.com
    Usuário user
    Porta 2222
    IdentityFile ~/.ssh/id_rsa
  3. Conectar com:
    ssh myserver

18. Verificar a versão do SSH

Para ver qual versão do SSH está instalada em seu sistema:

ssh -V

Exemplo de saída:

OpenSSH_8.4p1, OpenSSL 1.1.1k 25 de março de 2021

19. Definir o intervalo KeepAlive para evitar o tempo limite

Para manter a conexão SSH ativa e evitar que o tempo limite seja atingido, adicione o seguinte em ~/.ssh/config:

Host *
ServerAliveInterval 60

Isso envia um sinal de manutenção a cada 60 segundos.

20. Verificar o espaço em disco disponível no servidor remoto

Você pode usar o df por SSH para verificar o espaço em disco em um servidor remoto:

ssh nome_do_usuário@hospedeiro_remoto ‘df -h’

Exemplo:

ssh user@example.com ‘df -h’

Esse comando mostra o espaço disponível em disco em um formato legível por humanos (-h).

Resumo

Esses 20 comandos SSH abrangem uma ampla gama de funções, desde conexões básicas e transferências de arquivos até tarefas avançadas, como criação de túneis e uso de chaves SSH. Ao dominar esses comandos, você pode gerenciar servidores remotos com mais eficiência e segurança. Seja na implantação de aplicativos, na transferência de arquivos ou na solução de problemas do servidor, esses comandos SSH são ferramentas essenciais no kit de ferramentas de um administrador de sistemas.

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills