Hello

Je cherche à me loguer sur un switch afin d'effectuer des commandes (un copy tftp).

Voilà une partie de mon script comprenant la principale partie de mon switch :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
sub Recup_nortel {
	@switch_nortel_details = split(/ /, $switch_nortel_conf);
	$prompt =qw(/\>/);
	$out_log='log/Out_Log_'.@switch_nortel_details[1].'.txt';
	$in_log='log/In_Log_'.@switch_nortel_details[1].'.txt';
	$dump_log='log/Dump_Log_'.@switch_nortel_details[1].'.txt';
 
	#`touch /tftpboot/@switch_nortel_details[1]`;
	#`chmod og-r+w /tftpboot/@switch_nortel_details[1]`;
 
	$t= new Net::Telnet (Timeout=>30,
					Errmode=>'return',
					Dump_log=>$dump_log,
					Input_log=>$in_log,
					Output_log=>$out_log,
					prompt=>$prompt
					);
 
	print ("Réception de @switch_nortel_details[1] du switch @switch_nortel_details[0] ... \n");
	$t->open(@switch_nortel_details[0]);
	$var_0=chr(25);
	@ctrly=$t->print($var_0);
 
	$t->waitfor("/Username:/") or die "ERREUR : Mauvais login !";
	$var_1="@switch_nortel_details[2]";
	@login=$t->print($var_1);
 
	#$var_4=chr(13);
	#@enter1=$t->print($var_4);
 
	$t->waitfor("/Password:/") or die "ERREUR : Mauvais password !";
	$var_2="@switch_nortel_details[3]";
	@password=$t->print($var_2);
 
	#@enter2=$t->print($var_4);
 
	$var_3=chr(67);
	@majc=$t->print($var_3);
 
	$t->cmd("enable");
	$t->cmd("copy running-config tftp address $serveur_tftp filename @switch_nortel_details[1]");
	$t->close;
	print ("Envoi du fichier sur $serveur_tftp terminé.\n");
	return 1;
}
Le problème est qu'apparament je n'arrive pas à me loguer sur le switch : Je passe bien le Ctrl-Y qui est demandé, mais une fois que je dois envoyer le login et le password, visiblement ça ne marche pas.

Je ne m'en sors pas, help