Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Testando Acesso Remoto (SSH e/ou SCP) dentro do Docker

Estou na aula sobre [Acesso Remoto], mas estou tentando não através de uma Máquina Virtual (ex: VirtualBox), mas sim dentro de um Container do Docker.

Obviamente há diferenças, como a falta de configurações de um usuário. E foi nesse ponto que travei.

Consegui definir uma senha através de passwd para o usuário Root.

Consegui instalar o SSH através do apt install ssh, consegui inicializar através de service ssh start.

Mas ao executar o ssh root@localhost é pedida a senha, e ao digitar a senha informada no passwd, é exibida a mensagem abaixo:

Permission denied, please try again.

Alguém sabe como executar e testar o SSH e o SCP do Ubuntu dentro do Docker?

1 resposta
solução!

Olá Pedro! Tudo certo? Espero que sim. 🙂

Para utilizar o SSH dentro do docker é necessário estabelecer uma conexão da porta do container criado com uma porta do sistema que esteja disponível. Além disso é necessário a instalação de alguns programas pré-requisitos e fazer algumas configurações. Vamos ao passo a passo:

1) Criar a imagem docker ubunto com as portas do container e sistema associadas:

sudo docker run --name ubuntu_ssh -p 500:22 -i -t ubuntu bash

2) Defina uma senha para o root do container:

passwd

3) Atualize as referências de instalação de programas no ubuntu no docker:

apt-get update

4) Instale o ssh, o Open SSH Server e o editor de código vim:

apt install ssh openssh-server vim -y

Será necessário responder a algumas configurações no terminal:

  • Quando for requisitada a Geographic Area responda com 2
  • Quando for requisitada a Time zone responda com 134

5) Definição de uma chave de acesso:

ssh-keygen -A

6) Editar o arquivo sshd_config.

vi /etc/ssh/sshd_config

Mudar a linha que indica #PermitRootLogin prohibit-password para PermitRootLogin Yes

Imagem que mostra o arquivo sshd_config e ressalta a linha #PermitRootLogin prohibit-password

Imagem que mostra o arquivo sshd_config e ressalta a nova linha PermitRootLogin Yes, que substituiu a antiga

7) Inicie o SSH:

service ssh start

8) Abra outro terminal e digite o código:

ssh root@localhost -p 500

Agora, você deve poder acessar o seu container docker pelo seu terminal da máquina, através do ssh.

Espero ter ajudado! Quaisquer dúvidas, estou à disposição. 😉

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software