是否可以让 Perl 脚本运行 shell 别名?我遇到了一种情况,我们有一个 Perl 模块,我无权修改,它所做的一件事是通过 SSH 登录到多个服务器以远程运行一些命令。可悲的是,一些系统(我也无权修改)有一个错误的 SSH 服务器,一旦我的系统尝试发送 SSH 公钥,它就会断开连接。我正在运行 SSH 代理,因为我需要它来连接到其他一些服务器。
我最初的解决方案是设置一个别名来将 ssh 设置为 ssh -o PubkeyAuthentication=no,但是 Perl 运行它在 PATH 中找到的 ssh 二进制文件,而不是尝试使用别名。
看起来唯一的解决方案是在我连接到问题服务器时禁用 SSH 代理或覆盖执行实际连接的 Perl 模块。