当我通过 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();
如有必要,您可以先保存并在登录调用后立即恢复。