Ctrl + Alt + Teclas Del e F Usando o Telnet

0

Eu só tenho acesso serial a um servidor e estou tentando acessar seu BIOS usando telnet (não é uma serial direta, mas uma conexão serial remota).

Meu telnet certamente alcança o servidor, como eu posso ver que ele falhou, mas eu quero reiniciá-lo com Ctrl + Alt + Del , no entanto, isso é capturado pela minha máquina local. As teclas F também parecem ser capturadas pela minha máquina local.

Para o aplicativo telel do RHEL, qual é o método padrão para a emissão de Ctrl + Alt + Del ?

Para o aplicativo telel do RHEL, qual é o método padrão para a emissão de chaves F?

    
por Centimane 11.04.2016 / 17:22

1 resposta

1

A maioria das bios aceita várias versões das seqüências de escape do teclado vt100 para teclas de função. Por exemplo, o guia de redirecionamento do console da Dell lista, entre outros, os equivalentes:

F7     <Esc> <Shift>ov  or   <Esc> [ 1 8 ~

e também algumas sequências extras não padrão, como

<Ctrl><Alt><Del>   <Esc> <Shift>r <Esc> r <Esc> <Shift> r

(Por <Shift>ov você digitaria OV , claro). Infelizmente, essas sequências chave geralmente precisam ser digitadas muito rapidamente, já que somente um pequeno tempo limite é permitido entre os caracteres.

Uma maneira de enviar tal sequência através do telnet é fazer com que seu emulador de terminal gere a string em alguma ligação. Isso é muito dependente do emulador de terminal.

Outra é desconectar seu telnet e executar um comando para enviar apenas a sequência por meio de uma nova conexão telnet. Por exemplo, para testar, esse script de espera faz um login e envia a sequência F7 ( 3\[18~ ).

#!/bin/expect -f
spawn telnet localhost
expect login:
send myuserid\r
expect Password: 
send mypassword\r
expect "\$ "
send "echo hi\r"
expect "hi"
expect "\$ "
send "dd count=6 bs=1 | od -c\r"
send "3\[18~\r"
expect "\$"
send "echo hi\r"
expect "hi"
send_user "done\n"

Obviamente, você não precisará fazer login no seu bios, então você pode ter apenas

#!/bin/expect -f
spawn telnet remotebios
expect "Connected to "
send "3\[18~"

Você também pode tentar mais simplesmente

echo -e '3[18~' | nc remotebios 23
    
por 11.04.2016 / 20:57