Mudanças entre as edições de "Criação de um acesso remoto ao kit MERCURIO IV"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 17: Linha 17:
 
*https://stackoverflow.com/questions/11818131/warning-remote-port-forwarding-failed-for-listen-port-52698
 
*https://stackoverflow.com/questions/11818131/warning-remote-port-forwarding-failed-for-listen-port-52698
  
===Maquina server ===
+
===Servidor jTAG (Green)===
Na maquina server, onde estará o kit FPGA conectado.
+
Na maquina onde está o kit FPGA conectado, será instalado um server jTAG.
*Conectar a jtag através de uma senha a ser compartilhada com os alunos.
+
*Conectar o jtag através de uma senha '''DLP29006''' a ser compartilhada com os alunos.
 
  /opt/altera/13.0sp1/quartus/bin/jtagd
 
  /opt/altera/13.0sp1/quartus/bin/jtagd
  /opt/altera/13.0sp1/quartus/bin/jtagconfig --enableremote DLP29006
+
  /opt/altera/13.0sp1/quartus/bin/jtagconfig --enableremote '''DLP29006'''
  
*Gerar um conjunto de chaves jtagserverkey  jtagserverkey.pub para acesso remoto através de chave privada e a publica, na pasta /home/usuario
+
*Gerar um conjunto de chaves '''jtagserverkey''' '''jtagserverkey.pub''' para acesso remoto através de chave privada e a publica, na pasta /home/<usuario>
 
  ssh-keygen -t rsa -b 4096
 
  ssh-keygen -t rsa -b 4096
  
 
  Generating public/private rsa key pair.
 
  Generating public/private rsa key pair.
  Enter file in which to save the key (/home/mmoecke/.ssh/id_rsa): jtagserverkey
+
  Enter file in which to save the key (/home/<usuario_green>/.ssh/id_rsa): jtagserverkey
 
  jtagserverkey already exists.
 
  jtagserverkey already exists.
 
  Overwrite (y/n)? y
 
  Overwrite (y/n)? y
Linha 35: Linha 35:
 
  Your public key has been saved in jtagserverkey.pub
 
  Your public key has been saved in jtagserverkey.pub
  
* Renomear a chave publica jtagserverkey.pub para authorized_keys
+
* Mover a chave publica '''jtagserverkey.pub''' para a nuvem do IFSC (Blue) e mudar seu nome para '''authorized_keys'''
  mv jtagserverkey.pub authorized_keys
+
  mv jtagserverkey.pub authorized_keys <usuario_green>
  
 +
* Testar se a chave criptográfica está funcionando
 +
ssh -i jtagserverkey <usuario_blue>@nuvem.sj.ifsc.edu.br -p 2224
  
 
* Criar o tunel ssh
 
* Criar o tunel ssh
  ssh -oStrictHostKeyChecking=no -i jtagserverkey -R 60000:localhost:1309 moecke@nuvem.sj.ifsc.edu.br -p 2222 -N -f  
+
  ssh -oStrictHostKeyChecking=no -i jtagserverkey -R 60000:localhost:1309 <usuario_blue>@nuvem.sj.ifsc.edu.br -p 2222 -N -f  
  
 
* Aqui está dando erro se usar a porta 2224:
 
* Aqui está dando erro se usar a porta 2224:

Edição das 18h02min de 28 de maio de 2020

Cenário utilizado

Para a programação remota de um kit MERCURIO IV, foi criado o seguinte cenário:

  1. Na casa do professor foi disponibilizado o kit MERCURIO conectado a um notebook com UBUNTU 20.04 e com o software Quartus II.
  2. Uma câmera de smartphone será usada para mostrar o funcionamento da placa.
  3. Os alunos utilizaram os serviços da nuvem.sj.ifsc.edu.br porta 2224 para fazer a programação

Preparando o servidor

  1. Instalar a versão 13.0sp1 no notebook.
  2. Fazer as configurações necessárias para acessar a JTAG. Configuração da USB para programação do FPGA via JTAG
  3. Testar se está funcionando o gravador LOCAL. Programando o FPGA através da USB-Blaster

Criando o tunel ssh

A proposta aqui é a criação de um tunel ssh reverso.

ReverseTunel.png

FONTE:

Servidor jTAG (Green)

Na maquina onde está o kit FPGA conectado, será instalado um server jTAG.

  • Conectar o jtag através de uma senha DLP29006 a ser compartilhada com os alunos.
/opt/altera/13.0sp1/quartus/bin/jtagd
/opt/altera/13.0sp1/quartus/bin/jtagconfig --enableremote DLP29006
  • Gerar um conjunto de chaves jtagserverkey jtagserverkey.pub para acesso remoto através de chave privada e a publica, na pasta /home/<usuario>
ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/home/<usuario_green>/.ssh/id_rsa): jtagserverkey
jtagserverkey already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in jtagserverkey
Your public key has been saved in jtagserverkey.pub
  • Mover a chave publica jtagserverkey.pub para a nuvem do IFSC (Blue) e mudar seu nome para authorized_keys
mv jtagserverkey.pub authorized_keys  <usuario_green>
  • Testar se a chave criptográfica está funcionando
ssh -i jtagserverkey <usuario_blue>@nuvem.sj.ifsc.edu.br -p 2224
  • Criar o tunel ssh
ssh -oStrictHostKeyChecking=no -i jtagserverkey -R 60000:localhost:1309 <usuario_blue>@nuvem.sj.ifsc.edu.br -p 2222 -N -f 
  • Aqui está dando erro se usar a porta 2224:
Warning: remote port forwarding failed for listen port 60000
  • Conferindo no [greenhost]
netstat -an --wide | grep 1309
tcp        0      0 0.0.0.0:1309            0.0.0.0:*               LISTEN  
netstat -an --wide | grep 2224
tcp        0      0 192.168.0.37:53964      191.36.8.4:2224         ESTABLISHED
tcp        0      0 192.168.0.37:55776      191.36.8.4:2224         ESTABLISHED
tcp        0      0 192.168.0.37:55692      191.36.8.4:2224         ESTABLISHED
tcp        0      0 192.168.0.37:53716      191.36.8.4:2224         TIME_WAIT  
tcp        0      0 192.168.0.37:36360      191.36.8.6:2224         ESTABLISHED
tcp        0      0 192.168.0.37:53906      191.36.8.4:2224         ESTABLISHED
tcp        0      0 192.168.0.37:35530      191.36.8.6:2224         ESTABLISHED
tcp        0      0 192.168.0.37:53884      191.36.8.4:2224         ESTABLISHED
  • Conferindo no [bluehost]
netstat -an --wide |grep 2222
netstat -an --wide |grep 1309
netstat -an --wide |grep 60000
tcp        0      0 127.0.0.1:60000         0.0.0.0:*               LISTEN

Na conta do aluno na nuvem

  1. Acessar a nuvem com seu login e senha.
ssh <usuario>@nuvem.sj.ifsc.edu.br -p 2224
pwd
ls .ssh
  1. Se não tiver a pasta, criar com
mkdir .ssh
exit ou [CTRL D]
  1. Copiar a chave publica para esta pasta
scp -P 2224 authorized_keys <usuario>@nuvem.sj.ifsc.edu.br:/home/<usuario>/.ssh
  1. Conferir na nuvem.
ssh <usuario>@nuvem.sj.ifsc.edu.br -p 2224
ls -la .ssh/
total 16
drwx------  2 moecke Domain Users 4096 May 27 22:38 .
drwx------ 25 moecke Domain Users 4096 May 27 21:41 ..
-rw-r--r--  1 moecke Domain Users  741 May 27 22:38 authorized_keys

Acesso pelo usuário da nuvem

  1. acessar a nuvem Acesso ao IFSC-CLOUD (NUVEM)#Quartus II - Modelsim - QSIM
  2. desenvolver o sistema realizando todas as fases do projeto
  3. configurar o programador do quartus para acessar o jTAG server através da porta 6000
  4. enviar o arquivo .sof para programar o kit.
  5. observar o funcionamento do hardware pela câmera do celular que está sendo mostrada no G-MEET.