Blog

SPIRIT > Blog

Neste artigo você aprenderá sobre os benefícios do uso das chaves SSH, como gerar as suas, distribuí-las e usá-las com o MobaXTerm. Este software funciona basicamente da mesma maneira que o PuTTY, no entanto, há mais funcionalidades combinadas no MobaXterm.

Além de um cliente SFTP embutido para transferir arquivos, ele tem também um servidor X11 embutido para permitir que você rode programas gráficos remotamente sem a necessidade de instalar um servidor X11 de terceiros.

Introdução: O que são chaves SSH?

O SSH (Secure Shell), também conhecido como Secure Socket Shell, é um protocolo que permite a conexão com servidores remotos, de forma criptografada e mais segura, usando um par de chaves RSA.

Este método consiste na criação de duas chaves, uma pública que deve ser instalada nos servidores remotos, e a outra chave privada que fica salva em um local seguro. A encriptação e decriptação são feitas usando chaves separadas e não é possível conseguir a chave de decriptação usando a chave de encriptação.

1. Gerando Chaves SSH no MobaXTerm

1.1 Faça uma busca no Google e localize a versão mais atualizada do MobaXTerm, instalando-o em seu computador.

1.2 No MobaXTerm, vá em Tools-> MobaKeyGen (gerador de chaves SSH). O processo de gerar uma chave é quase o mesmo do PuTTY, com apenas pequenas diferenças. Ambos os métodos resultarão na exibição de uma janela muito semelhante que pode ser usada para gerar ou carregar uma chave existente. Você pode obter maiores detalhes em nosso artigo Como Gerar e Usar Chaves SSH no PuTTy

2. Distribuindo sua Chave Pública

ATENÇÃO! Somente distribua sua chave pública e mantenha sua chave privada em segurança.

Agora adicione a chave SSH públicada gerada aos seus hosts remotos. Se sua empresa tem uma subscrição de suporte com a SPIRIT, nós faremos a distribuição de sua chave pública para todos os servidores que você deve ter acesso. Basta que você a envie para o endereço suporte @ spiritlinux .com .br (não se esqueça de remover os espaços!)

2.1 Se você é o administrador do servidor remoto, você vai precisar adicionar sua chave pública ao arquivo ~/.ssh/authorized_keys dos hosts. 

Copie sua chave pública para o /tmp do servidor, por exemplo. Em seguida, adicione-a ao final do arquivo ~/.ssh/authorized_keys:

cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys

3. Usando as Chaves SSH com o MobaXTerm

3.1 Para conectar-se a uma máquina com a qual você não se conectou anteriormente usando o MobaXterm, vá para Sessions-> New session, selecione uma sessão “SSH”, digite o endereço do host remoto e seu nome de usuário.

3.2 Para usar sua chave SSH, clique em Advanced SSH settings e marque a caixa de seleção Use private key. Você pode clicar no ícone à direita da caixa de texto para navegar no sistema de arquivos e selecionar um arquivo de chave privada a ser usada.

3.3 Em seguida, clique em OK. O MobaXterm salvará as informações da sessão que você acabou de inserir para conexões futuras e também abrirá uma conexão SSH com o host especificado, que solicitará sua senha.

3.4 Uma vez que sua senha for digitada com sucesso, você terá agora um terminal no qual você pode digitar comandos, bem como um cliente SFTP no painel esquerdo, que pode ser usado para visualizar arquivos na máquina remota e transferir arquivos de e para a máquina remota. arrastando e soltando arquivos.

4. Conclusão

Neste tutorial, você aprendeu a gerar o par de chaves SSH públicas/privadas e usar essas chaves com o servidor remoto para realizar uma conexão mais segura.

A virtualização trouxe vários benefícios para os ambientes de TI mas é possível obter mais segurança, performance e agilidade com containers. Neste primeiro artigo da trilogia sobre Docker, vamos aprender mais sobre este sistema e como instalá-lo no Debian 9, dando continuidade a prática da cultura DevOps.

1. Introdução: O que é o Docker?

O surgimento de máquinas virtuais permitiu um ganho significativo de escala e a migração da TI para as nuvens, mas seu uso ainda requer um tempo considerável, muita intervenção manual e reserva de recursos para cada host.

Já o Docker, plataforma de código aberto, criada pelo Google e desenvolvida na linguagem Go, implementa a tecnologia de containers. De alto desempenho, o software garante maior facilidade na criação e administração de ambientes isolados, garantindo um deploy mais ágil das aplicações.

Seu objetivo é criar, testar e implementar aplicações em um ambiente separado da máquina original. Dessa forma, o desenvolvedor consegue abstrair a infraestrutura e empacotar o software de maneira padronizada, criando micro-serviços.

2. Benefícios do Docker

Portabilidade

O container, que é um ambiente separado da máquina original, pode depois então ser executado em qualquer servidor que tenha o Docker instalado. Isso ocorre porque a plataforma leva consigo as funções básicas para sua execução, como código, bibliotecas, runtime e outras ferramentas do sistema.

Em outras palavras,é possível desenvolver, empacotar uma vez e executar em qualquer lugar! No decorrer da trilogia vamos demonstrar isso na prática para vocês.

Performance

Em uma comparação com a virtualização convencional, é possível fazer um deploy até 7 vezes mais rápido, já que não precisamos migrar toda a máquina virtual. Além disso, máquinas full virtualizadas são iniciadas da mesma forma que uma máquina física, necessitando do carregamento de todos os recursos de hardware e de software enquanto a paravirtualizada carrega somente o que não possui. O restante ela pega da máquina que já está ligada, reduzindo tanto o tempo de boot como a concorrência por recursos de hardware.

Automação

Ok, mas se o Docker usa as mesmas tecnologias que o LXC, XEN e OpenVZ, qual a grande diferença entre eles? Automação! O ToolKit que acompanham o Docker,  com ferramentas como Dockerfile, Docker-Compose e Docker-Swarm, faz o show acontecer, permitindo a orquestração e escalonamento horizontal em tempo recorde.

Versionamento

Além de agilizar os processos, um container Docker torna mais fácil o acesso a uma versão anterior, trazendo mais segurança e performance também para a equipe.

3. Instalação do Docker no Debian 9

Execute os passos a seguir com o usuário root. Atualize seu repositório de pacotes

# apt-get update

Agora instale os pacotes extras necessários para a adição do novo repositório do Docker

# apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg2 \
    software-properties-common

Faça o download e instalação da chave de segurança do repositório do Docker

# curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -

Instale o novo repositório Docker no servidor

# add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/debian \
   $(lsb_release -cs) \
   stable"

Atualize novamente o repositório

# apt-get update

Instale o Docker

# apt-get install docker-ce docker-ce-cli containerd.io

Teste se o Docker foi instalado com sucesso, executando os comandos:

# docker ps  

# docker –version

4. Conclusão

Neste artigo fizemos uma introdução a tecnologia de container, implantada pelo Docker, suas principais vantagens e como instalá-lo em seu servidor.

Nos próximos artigos conversaremos sobre o uso prático do Docker, sobre a criação de Dockerfiles, arquivo txt que contém todos os comandos usados para criar uma imagem de container e sobre o Docker-compose, ferramenta para definir e executar aplicações em múltiplos containers.

Neste artigo você aprenderá sobre os benefícios do uso das chaves SSH, como gerar as suas, distribuí-las e usá-las com o PuTTy.

Introdução: O que são chaves SSH?

O SSH (Secure Shell), também conhecido como Secure Socket Shell, é um protocolo que permite a conexão com servidores remotos, de forma criptografada e mais segura, usando um par de chaves RSA.

Este método consiste na criação de duas chaves, uma pública que deve ser instalada nos servidores remotos, e a outra chave privada que fica salva em um local seguro. A encriptação e decriptação são feitas usando chaves separadas e não é possível conseguir a chave de decriptação usando a chave de encriptação.

1. Gerando Chaves SSH no PuTTy

1.1 Instale o conhecido programa Putty. Faça uma busca no Google e localize a versão mais atualizada do programa, instalando-o em seu computador.

1.2 Abra o programa PuTTygen. Na tela abaixo, certifique-se de que os seguintes parâmetros foram definidos:

Type of key to generate (Tipo de chave a ser gerada): RSA
Number of bits in a generated key (Número de bits na chave gerada): 4096

1.3 Clique no botão Generate e mexa seu mouse por alguns segundos.

1.4. Agora vamos editar os parâmetros de sua chave privada, conforme abaixo:

Key comment (comentário da chave): NomedaEmpresa:NomeCompleto:Data
Key passphrase: Informe sua frase-senha
Confirme passphrase: Confirme sua frase-senha

Note que as variáveis devem ser substituídas de forma adequada, como no exemplo a seguir:

SPIRIT:GiovaniBalarini:06-05-2019

1.5 Clique em Save private key para salvar sua chave privada em um local seguro, em um arquivo chamado id_rsa

1.6 Clique em Save public key para salvar sua chave pública em um local seguro, em um arquivo chamado id_rsa.pub

Pronto! Agora que você já tem suas chaves públicas e privadas, sempre que você quiser acessar um servidor remoto, basta copiar ou pedir que o administrador copie sua chave pública para ele.

Você pode inclusive solicitar a criação de um certificado digital junto a Verisign, para que sua identidade análogica seja associada as chaves geradas. Saiba mais aqui.

2. Distribuindo sua Chave Pública

ATENÇÃO! Somente distribua sua chave pública e mantenha sua chave privada em segurança.

Agora adicione a chave SSH públicada gerada aos seus hosts remotos. Se sua empresa tem uma subscrição de suporte com a SPIRIT, nós faremos a distribuição de sua chave pública para todos os servidores que você deve ter acesso. Basta que você a envie para o endereço suporte @ spiritlinux .com .br (não se esqueça de remover os espaços!)

2.1 Se você é o administrador do servidor remoto, você vai precisar adicionar sua chave pública ao arquivo ~/.ssh/authorized_keys dos hosts. 

Copie sua chave pública para o /tmp do servidor, por exemplo. Em seguida, adicione-a ao final do arquivo ~/.ssh/authorized_keys:

cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys

3. Usando as Chaves SSH com o PuTTy

3.1 Baixe e instale o software Pageant. Execute o aplicativo e um ícone de computador com um chapéu aparecerá na barra de tarefas.

3.2 Clique com o botão direito no ícone do Pageant e depois em Add key (Adicionar chave). Selecione sua chave privada e informe sua frase-senha para que mesma seja carregada na memória.

3.3 Para conectar-se ao servidor remoto, abra o PuTTy e clique em Connection -> SSH -> Auth (Conexão -> SSH -> Autenticação). Assegure-se que as opções Attempt authentication using Pagent e Allow agent forwarding estejam marcadas.

3.4 Na coluna à esquerda, volte ao item Session (Sessão), e salve as alterações no perfil Default, para que o Putty use esses valores em novas sessões salvas.

3.5 No campo Host Name (or IP address), digite o nome do servidor remoto ou seu endereço IP. Certifique-se de que o campo Port contém a porta correta, uma vez que alguns administradores podem alterar da porta padrão 22 para algum outro número, numa tentativa de obter segurança por obscuridade.

3.6. Em Saved Session (Sessões salvas), digite um nome fácil para lembrá-lo que servidor é este e depois clique no botão Save (Salvar)

3.7 Nos próximos acesso a este servidor remoto, você não precisa repetir os passos acima. Basta agora clicar no botão Open (Abrir)

3.8 Na tela que será aberta, informe seu nome de usuário e em seguida, sua frase-senha.

4. Conclusão

Neste tutorial, você aprendeu a gerar o par de chaves SSH públicas/privadas e usar essas chaves com o servidor remoto para realizar uma conexão mais segura.