====== [Remoto] SSH: Conexión 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 64:51:06:51:0a:05 1302 64:51:06:60:0e:35 1303 64:51:06:57:fb:52 1304 64:51:06:60:0e:3e 1305 64:51:06:51:0c:ca 1306 64:51:06:51:07:c3 1307 64:51:06:57:fb:d4 1308 64:51:06:50:f5:ae 1309 64:51:06:50:f1:eb 1310 64:51:06:57:fb:ae 1311 64:51:06:50:f0:eb 1312 64:51:06:60:0e:3c 1313 64:51:06:52:27:55 1314 64:51:06:5b:af:0d 1315 64:51:06:52:29:61 1316 64:51:06:52:40:65 1317 4c:ed:fb:3f:0f:9a 1318 e0:d5:5e:46:8d:67 1319 e0:d5:5e:46:8d:33 1320 4c:ed:fb:3f:0f:01 1321 e0:d5:5e:46:8d:6b 1322 4c:ed:fb:3f:0f:67 1323 4c:ed:fb:3f:0d:e6 1324 e0:d5:5e:46:89:c5 * 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 Este script se puede adaptar a otra aula modificando los valores de las líneas que contienen el nombre del fichero que contiene las MAC y la dirección IP: * Línea ''pc_red="192.168.113.0/24"'' * Línea ''archivo="mac13.txt"'' \\