Criando um servidor STFP no Linux

O SFTP é um excelente método para a transferência de arquivos remotos no linux. Neste tutorial, vamos aprender a configurar este sistema seguro de compartilhamento de arquivos e conhecer sua diferença ao tradicional FTP.

FTP ou File Transfer Protocol é um sistema de transferência de arquivos, muito conhecido. Porém, se você procura um pouco mais de segurança, recomendo que utilize o SFTP.
SFTP é a sigla para Secure Transfer Protocol ou seja, protocolo de transferência segura. Isso é possível por que o SFTP utiliza criptografia na sua transferência de arquivos, usando um método de tecnologia de impressão digital, para verificar as chaves dos hosts liberados antes de iniciar a transferência.
Além disto, você precisará liberar em seu firewall apenas a porta 22, enquanto, o FTP precisa abrir vários canais para que a comunicação ocorra.

Configurando o servidor

Vamos realizar esta tarefa através das seguintes etapas:
  • Criar um grupo e um usuário para o SFTP
  • Instalar o serviço do SSH
  • Configurar o SSH
  • Fazer login no SFTP pela linha de comando ou interface gráfica do usuário
Antes de qualquer coisa, atualize seu repositório e seu sistema operacional:
sudo apt update
sudo apt upgrade

Criando um grupo para o SFTP

Vamos criar um novo grupo e um usuário para nosso login com o SFTP:
sudo addgroup sftp_certificacoesnetbr
Crie agora o seu usuário (tux) e adicione ao grupo:
sudo useraddd -m tux -g sftp_certificacoesnetbr
Adicione uma senha para este usuário:
sudo passwd tux
Vamos agora, conceder a este nosso novo usuário, acesso completo ao seu diretório:
sudo chmod 700 /home/tux

Instalar o SSH

Vamos instalar o Openssh:
sudo apt install openssh-server

Configurando o SSH

Após a conclusão da instalação do SSH, vamos configurá-lo com o nano (use seu editor favorito) o arquivo:
sudo nano /etc/ssh/sshd_config
Adicione ao final do arquivo as seguintes linhas:
Match group sftp_certificacoesnetbr
ChrootDirectory /home
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Salve e feche o arquivo de configuração. Esta configuração vai permitir que os usuários do grupo sftp_certificacoesnetbr acessem e usem seus diretórios pessoais por meio do SFTP. Mas impedirá, outro acesso SSH a estes arquivos.
Reinicie o serviço SSH:
sudo systemctl restart ssh

Faça login no SFTP

Pela linha de comando em um terminal execute:
sftp tux@127.0.0.1
Coloque sua senha. Acesse o diretório raíz do SFTP:
cd tux/ 
Crie um diretório de teste:
mkdir sftpdir
E saia da conexão com o comando:
exit

Acessando pela interface gráfica

Abra seu navegador de arquivos e coloque como a imagem abaixo:

Veja o nosso vídeo, usando um outro método

Conectar SSH em um diretório específico

Sumário

Sempre procuro ser mais produtivo. Como preciso acessar diversos servidores e depois acessar um caminho específico da aplicação que faço manutenção, já acesso o caminho durante a conexão SSH, na verdade tenho um script que só me pede o IP e faz a conexão de forma automática. 

Pré-requisito

Conhecimento básico de servidores linux.

Realizando

Eu tenho um host de IP: 192.168.1.7 o qual quero acessar via SSH direto no diretório: /home/juliano/financeiro/adm2/santander/app 


Neste caso o comando que executo é:

ssh -t juliano@192.168.1.7 ‘cd /home/juliano/financeiro/adm2/santander/app ; bash’


Conectando ssh em diretório específico

Criando um script

Com seu editor favorito é possível criar um script simples em shell, veja o código abaixo:

#!/bin/bash

echo "Digite um usuario:"

read usuario


echo "Digite um IP"

read ip


ssh -t $usuario@$ip 'cd /home/juliano/financeiro/adm2/santander/app ; bash'

Salve com o nome que desejar, dê permissão de execução com: chmod +x script.sh  , altere o diretório padrão e seja feliz.

Executando script para conexão ssh

Prof. Juliano Ramos
Olá. Bom dia, boa tarde e boa noite. A vida é boa e sempre vai dar certo! Curtiu esta publicação? Então entre em nosso grupo no Telegram, vamos bater um papo sobre linux!

Conexões ssh ativas no servidor linux

Conexão usando ssh

Aprenda neste tutorial básico sobre linux, como descobrir quais conexões estão ativas em seu servidor. Assim você garante uma maior segurança para sua rede, estando bem atento em tudo o que está acontecendo.

Pré-requisito

  • Um servidor executando o linux
  • Acesso ao root no servidor
  • Encontre a conexão SSH ativa

Abra seu terminal e execute o comando who para encontrar as conexões ativas em seu servidor:
# who
root pts/0 2020-05-01 02:50 (27.61.161.61)

Conexão SSH ativa com o comando w

w é outro comando que exibe as informações sobre o usuário atualmente conectado ao servidor. Exemplo:
# w
 02:40:07 up 1 day, 18:35, 2 users, load average: 0.02, 0.02, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 27.61.161.61 02:37 1.00s 0.04s 0.01s ssh root@45.58.38.21
root pts/1 45.58.38.21 02:39 1.00s 0.02s 0.00s w

Conexão SSH ativa com ps

Outra opção é usar o comando ps para buscar as conexões ativas. Exemplo:
# ps auxwww | grep sshd: | grep -v grep

Conexão SSH ativa com o netstat

O netstat é uma ferramenta de linha de comando que pode ser usada para mostrar conexões SSH ativas ou estabelecidas dos hosts remotos ao servidor. Exemplo:# netstat -tnpa | grep P “ESTABLISHED.*sshd”

Conclusão

Neste guia, você aprendeu a pesquisar pelas conexões ativas, com diversos métodos diferentes. Agora poderá saber quem está conectado ao seu servidor, provendo assim mais segurança ao mesmo.

Prof. Juliano Ramos
Prof. Juliano Ramos é consultor e especialista em servidores Linux e Certificação LPI.

Faça parte de nosso grupo no Telegram: