By Marcos Oliveira,

Configurando o Shell Seguro OpenSSH

Secure Shell ou SS H é, simultaneamente, um programa de computador e um protocolo de rede que permite a conexão com outro computador na rede, de forma a executar comandos de uma unidade remota. Possui as mesmas funcionalidades do TELNET, com a vantagem da conexão entre o cliente e o servidor ser criptografada.Uma de suas mais utilizadas aplicações é o chamado Tunnelling, que oferece a capacidade de redirecionar pacotes de dados.

Instalação

Para instalar o cliente e os server, apesar do cliente já vir instalado por default no Debian e em outras distribuições:

apt-get install openssh-client openssh-server

Usuários e Conexão

Para conectar via IP ou por nome, levará em conta o nome do usuario que você está logado no local de conexão, exemplo se você está como “root”, ele solicitará a senha de “root” do computador que você deseja, se tiver logado como “marcos” se no computador que você está tentando logar como “marcos” não houver este usuário, você receberá a “Conection Refused”, e se tiver, deverá colocar a senha, ou usar o nome do usuario na frente e depois por o “@” e logo após o IP ou o nome do computador, depois é só pôr a senha do usuario ex.:

ssh 192.168.1.107
ssh algumsite.com
ssh root@192.168.1.107
ssh marcos@192.168.1.107

DEBUG - LOG - faça a conexão com -vv para exibir as mensagens, ajuda na localização de problemas, tente também iniciar o iniciar o servidor em modo debug (ssh -d) e conectar com o cliente, provavelmente o servidor vai exibir as mensagens de erros, tais como permissões e etc…

ssh -vv marcos@localhost
ssh -v marcos@localhost

Para restringir acesso, deve editar o arquivo # /etc/ssh/sshd_config, no arquivo que se abrirá, procure a linha que contém a palavra “Subsystem”, estará assim

Subsystem sftp /usr/lib/openssh/sftp-server

Bastar adicionar o “AllowUsers”, ficará assim

Subsystem sftp /usr/lib/openssh/sftp-server
AllowUsers marcos eric camila

Enquanto não utilizada a diretiva “AllowUsers” qualquer usuário da maquina pode conectar via ssh. Quando acrescenta-la, passa a permitir apenas os usuários listados e válidos na maquina, esta diretiva prevalece sobre a regra “default” que permite login de todos.

Alterando a Porta

A porta padrão do ssh é 22, por isto tem muitos scripts que ficam tentando conexão nesta porta, por este e outros motivos, pode se alterar a porta do ssh, por exemplo, alterar de 22 para porta 2222, use seu editor preferido para editar o arquivo /etc/ssh/sshd_config e procure pela linha; #Port 22 altere para Port 2222, depois de efetuar a alteração, precisa reiniciar o serviço, veja no tópico sobre instalação, para testar na própria maquina, em um konsole execute a linha de comando neste formato

ssh -p 2222 marcos@192.168.1.107
/etc/init.d/ssh restart

Copiar arquivos remotamente com SSH

Nesse exemplo abaixo vou copiar o arquivo “teste.txt” para o a máquina remota, isso será copiado para o diretório /home/marcos/, lógico, irá pedir senha antes de executar a cópia

scp teste.txt marcos@192.168.1.102:~/
marcos@192.168.1.102's password:

ou

scp teste.txt marcos@192.168.1.102:/home/marcos/
marcos@192.168.1.102's password:

Para copiar todos os arquivos e sub-diretórios a partir do Shell local para o home do usuário marcos no destino.

scp -r * marcos@192.168.1.107:~/

Para copiar para um sub-diretorio especifico no micro de destino, não use (~) e informe o caminho

scp -r * marcos@192.168.1.107:/home/marcos/pasta_server/

Para copiar da máquina remota para máquina local, usa-se o ponto no final e o formato assim

scp marcos@192.168.1.107:/home/eric/arquivo_remoto.txt . 

o ponto no final da linha indica para salvar no diretório atual. Salvar em outro local, substitua o ponto “.” pelo caminho na maquina local, exemplo para salvar na maquina local em /home/marcos/tmp

scp marcos@192.168.1.107:~/teste.txt /home/marcos/tmp
scp -r marcos@192.168.1.107:~/isos /home/marcos/tmp

Veja diversos vídeos sobre SSH

Clique Aqui para Ver o Vídeo


Clique Aqui para Ver o Vídeo


Curso Extremamente Avançado em Shell Script Bash

Você irá descobrir técnicas avançadas de escrever em Shell Script. Como criar instaladores para distribuições Linux, Animações, Documentações, além de tudo sobre Processos em sistemas tipo UNIX, detalhes sobre Comandos Avançados e Muito Mais !