Se seus alunos se conectarem a partir de máquinas baseadas em Linux, você poderá usar este script de conexão:
#!/bin/bash
ssh student@webserver -R 5000:localhost:22 ssh user@localhost sh -c 'hostname >> hostnames.txt; date >> hostnames.txt'
ssh student@webserver -L 80:localhost:80
Aqui estão dois comandos ssh.
O primeiro é usado para gravar informações sobre o nome do host da máquina do aluno e o registro de data e hora de sua conexão no arquivo hostname.txt
na máquina do servidor web.
student@webserver
é o endereço ssh para seus alunos fazerem login em seu servidor da web via ssh e user@localhost
é o endereço para fazer login na máquina do aluno a partir do servidor da web por meio do túnel reverso. Essa conexão reversa deve ser feita usando chaves ssh para se livrar da chamada de senha (basta usar os comandos ssh-keygen -r RSA
e ssh-copy-id [email protected]
do servidor da web para criar autenticação baseada em chave).
O segundo comando ssh é usado para construir o túnel principal para que o aluno possa se conectar à porta 80 do servidor web usando localhost:80
, ou seja, link em sua máquina local .
Você pode combinar comandos remotos (hostname e date) em algum script remoto para evitar sua possível alteração pelos alunos. Além disso, você pode adicionar algumas informações relacionadas ao IP ao arquivo hostname.txt
usando o comando greped ifconfig
ou algo semelhante.
Caso seus alunos se conectem a partir de máquinas com Windows, você pode instalar o servidor freeSSHd leve no Windows em modo de serviço e a autenticação baseada em chave para conexões de encapsulamento reversas.