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.
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
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