Perl은 원격 시스템에서 명령을 실행합니다.

Perl은 원격 시스템에서 명령을 실행합니다.

원격 시스템에서 일련의 명령을 실행해야 하는데 Perl이 로그인 상태를 유지하는 데 문제가 있습니다. ssh 또는 telnet 명령은 서비스 계정으로 로그인되어 있고 비밀번호가 없기 때문에 사용할 수 없습니다. 아래에서 이것을 시도하고 있지만 프로그램이 시스템에 sshs로 들어가고 ctl+d를 눌러 종료할 때까지 종료되지 않습니다.

system("ssh -qtt $server sudo cp /opt/uc4sand/bin/*.kstr /tmp/sand.kstr; sudo service uc4sand stop");

답변1

문제가 해결되었습니다.

my $ssh = Net::SSH::Perl->new(
                $server,
                user    => 'user';
                ssh_arges => {
                        identity_files => [ '/home/account/.ssh/id_rsa ' ]
                        debug => 1,
                }

        ) or die "could not open connection $server";

관련 정보