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