====== [Remoto] Conexión por ssh mediante MAC en la LAN ======
Se trata de conectarnos por ''ssh'' a un equipo conociendo su MAC. Como ''ssh'' necesita el parámetro de la dirección del equipo y no su MAC, he creado un script, siempre mejorable, para realizar esta función. Se ha probado en **Debian 11 y 12**.
* Fichero que contiene las direcciones MAC de los equipos del aula.
1301 04:92:26:d3:aa:f8
1302 64:51:06:60:0e:35
1303 4c:ed:fb:3f:0d:e6
1304 64:51:06:60:0e:3e
1305 04:92:26:c1:f3:c0
1306 64:51:06:51:07:c3
1307 e0:d5:5e:46:89:c5
1308 64:51:06:50:f5:ae
1309 04:92:26:c1:f3:b9
1310 64:51:06:50:f0:eb
1311 4c:ed:fb:3f:0f:67
1312 64:51:06:60:0e:3c
1313 04:92:26:d3:b1:d0
1314 64:51:06:5b:af:0d
1315 4c:ed:fb:3f:0f:01
1316 e0:d5:5e:46:8d:67
1317 4c:ed:fb:3f:0f:9a
1318 64:51:06:52:27:55
1319 e0:d5:5e:46:8d:33
1320 64:51:06:57:fb:ae
1321 e0:d5:5e:46:8d:6b
1322 64:51:06:52:40:65
1323 00:24:1d:c0:6a:6b
1324 00:18:8b:2b:24:00
* Script para conectar con un equipo del taller mediante ssh utilizando su MAC. Se usa el paquete ''arp-scan'', previamente instalado, y debe ejecutarse con permisos de ''root''. Instalar previamente arp-scan # aptitude install arp-scan
# Variables de entrada
# - $1 el número del pc (1301..1324), debe tener 4 caracteres
# - $2 es la letra del usuario (a,b,c)
# ejemplo de llamada: # bash conecta.sh 1301 c
clear
# Nombre del hostname y red
pc_num=$1
# comprobamos longitud de la cadena de entrada
if [[ ${#pc_num} -ne 4 ]]; then
echo Identificador del PC incorrecto: Debe contener 4 caracteres
exit
fi
pc_nombre=pc$pc_num
pc_red="192.168.113.0/24"
# Buscar en archivo la mac del equipo, segundo campo de cada línea
archivo="mac13.txt"
pc_mac=$(grep $1 $archivo | awk '{print $2}')
if [[ -z "$pc_mac" ]]; then
echo "Identificador del PC no encontrado"
exit
fi
# Busqueda de la IP de ese equipo
echo Buscando en la red $pc_red la IP del equipo $pc_nombre con MAC $pc_mac...
pc_ip=$(arp-scan $pc_red | grep $pc_mac | awk '{print $1}' | head -n1)
if [[ -z "$pc_ip" ]]; then
echo "PC no encontrado"
exit
fi
# IP identificada, entrar por ssh en usuario...
echo La IP del equipo $pc_nombre es $pc_ip
echo Conectandose con usuario sti$1$2...
ssh sti$1$2@$pc_ip
Se llama con # bash conecta.sh XXXX Y
donde ''XXXX'' es el número que identifica el equipo: el primer campo de cada fila del fichero de texto que contienen las MAC. e ''Y'' es la letra del usuario a, b o c. Ejemplo:
# bash conecta.sh 1301 a