Dicas sobre SSH
- Gustavo Viana
- Linux , Redes , Segurança da informação
- 17 de março de 2021
Todos nós conhecemos o comando básico para acessar um host remoto utilizando o SSH, certo? Veja algumas dicas sobre SSH que vão além do acesso básico!
Desta vez veremos diversas dicas e recursos do SSH que podem ajudar no nosso dia a dia!
Primeiramente demonstraremos como iniciar uma conexão SSH básica e abordaremos alguns comandos para edição, transferência e até mesmo túneis SSH.
Conexão SSH Básica
ssh [email protected] -p 2222 -i ~/.ssh/id_rsa
Parâmetro | Descrição |
---|---|
usuario | Nome de usuário do host remoto |
192.168.10.130 | IP/endereço do host remoto |
-p 2222 | Porta do SSH do host remoto (22/tcp é a padrão) |
-i ~/.ssh/id_rsa | Arquivo de identidade (chave privada) |
Enviar um arquivo via SSH
O SCP (OpenSSH secure file copy) tem a finalidade de copiar arquivos através do protocolo SSH.
scp arquivo.zip [email protected]:/home/usuario/arquivo.zip
| Parâmetro | Descrição | | arquivo.zip | Nome do arquivo local a ser enviado | | /home/usuário/arquivo.zip | Diretório de destino do upload |
Baixar um arquivo via SSH
scp [email protected]:/root/wordlist.txt /tmp/wordlist.txt
Parâmetro | Descrição |
---|---|
/root/wordlist.txt | Nome do arquivo remoto a ser baixado |
/tmp/wordlist.txt | Caminho local para escrever o arquivo baixado |
Executar um comando não interativo remotamente
ssh [email protected] "cat /root/documento.txt"
Parâmetro | Descrição |
---|---|
“cat /root/documento.txt” | Comando a ser executado no host remoto |
Captura remota de pacotes e visualização em Wireshark local
Desta forma é possível visualizar o tráfego do host remoto através de um Wireshark local:
ssh [email protected] 'tcpdump -nn -w - not port 22 and not arp' | wireshark -k -i -
Parâmetro | Descrição |
---|---|
tcpdump * | wireshark -k - | Encaminha a saída do comando tcpdump para o Wireshark |
Editar um arquivo remoto com VIM
vim scp://[email protected]//root/wordlist.txt
Parâmetro | Descrição |
---|---|
/root/wordlist.txt | Arquivo remoto a ser editado com VIM |
Montar diretório remoto localmente com SSHFS
Lembre-se de descomentar a opção user_allow_other em /etc/fuse.conf caso não esteja executando o comando como root.
sshfs -o allow_other,IdentityFile=/home/usuario/.ssh/id_rsa 192.168.10.130:/home/usuario/documentos-remote /home/usuario/documentos-local
Parâmetro | Descrição |
---|---|
allow_other | Permitir que usuários não privilegiados possam executar o processo sem erros de permissão |
IdentityFile=/home/usuario/.ssh/id_rsa | Caminho do arquivo de identidade (chave privada) |
192.168.10.130:/home/usuario/documentos-remote | Diretório remoto a ser montado localmente |
/home/usuario/documentos-local | Diretório local para receber a montagem |
SSH Tunnel
Com o comando abaixo abriremos um socket local que redirecionará o tráfego para um servidor remoto através de port forward e SOCKS proxy:
ssh -D 1337 -q -C -N -f [email protected]
Parâmetro | Descrição |
---|---|
-D 1337 | Porta a ser aberta localmente para utilização do túnel |
-q | quiet mode (suprimir a maioria das mensagens) |
-C | Compressão de dados (pode diminuir a velocidade de tráfego) |
-N | Não executar um comando remoto (apenas para port forwarding) |
-f | Executar em background |
Por fim, agradecemos a leitura e esperamos que este post tenha te ajudado de alguma maneira! Caso tenha alguma dúvida, entre em contato conosco pelo Telegram , Facebook ou Instagram ! Veja mais posts no IronLinux !