
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 !
![Usando o Google Authenticator no Two Factor do SSH [CentOS7]](/images/blog-posts/uploads/2019/11/Screenshot_7_hu338b4b74ea57a7b2766a199e6d0a2292_8094_1110x0_resize_q100_h2_lanczos_2.webp)
![Como alterar porta do SSH [Debian9]](/images/blog-posts/uploads/2020/02/Como-alterar-a-porta-1_hu1d0ab56ff328eaa86c17245d9942ca23_40000_1110x0_resize_q100_h2_lanczos_2.webp)