Perl에서 Net::SSH를 통해 로그인하는 데 사용되는 터미널 유형을 변경할 수 있습니까?

Perl에서 Net::SSH를 통해 로그인하는 데 사용되는 터미널 유형을 변경할 수 있습니까?

Perl에서 Net::SSH를 통해 특정 서버에 로그인하면(관리자 액세스 권한 없음) 다음 오류가 발생합니다.

 %SECURITY-SSHD-4-WARNING_LOGIN : The requested term-type '' is not supported 

(또한 터미널 유형을 영구적으로 변경하고 싶지 않습니다.)

내 코드의 일부는 다음과 같습니다.

 my $ssh = Net::SSH::Expect->new (
                host => "X.X.X.X", 
                user => 'bnegrao', 
                raw_pty => 1
  );
    eval
    {
         $ssh->login();
    };

Perl에서 Net::SSH를 통해 로그인할 때 터미널 유형을 변경할 수 있습니까?

답변1

Perl 코드는 ssh를 실행하고 환경에서 TERM을 내보내므로 로그인하기 전에 Perl 환경을 변경할 수 있습니다.

$ENV{TERM} = "vt100";
$ssh->login();

필요한 경우 먼저 저장하고 로그인 호출 후 즉시 복원할 수 있습니다.

관련 정보