2016-05-17 2 views
0

Ich habe Net :: OpenSSH :: Compat :: Perl kürzlich. Alle Abhängigkeiten wurden ohne Fehler installiert. Aber wenn ich versuche, den folgenden Code melden Sie sich mitctl_dir /root/.libnet-openssh-perl/ ist nicht sicher unter /usr/local/share/perl/5.18.2/Net/OpenSSH/Compat/Perl.pm Zeile 123

$linux_ses= Net::OpenSSH::Compat::Perl->new($host); 
$linux_ses->login($linux_uname,$linux_pass); 

bekomme ich folgende Fehlermeldung:

„ctl_dir /root/.libnet-openssh-perl/ nicht unter/usr/local/share sichern /perl/5.18.2/Net/OpenSSH/Compat/Perl.pm Linie 123. "

ich das Skript als root leite und die Datei Erlaubnis von /root/.libnet-openssh-perl/ ist 700.

Antwort

1

Die Berechtigungen auf/root/könnte zu locker sein. Gruppenschreibbar könnte bedeuten, dass ein .libnet-openssh-perl/von einer anderen Person als root gelöscht werden kann, was keine sichere Situation ist.

Bitte überprüfen.

+0

Danke @edehont. Ich änderte die Berechtigungen auf 700. Ich habe immer noch das gleiche Problem. – SilentMonk

+0

Ich habe die Berechtigungen von /root/.libnet-openssh-perl/ auf 500 geändert. Es hat funktioniert. Dieser Link - [link] (http://rpm.pbone.net/index.php3/stat/45/idpl/16345800/numer/3/nazwa/Net::OpenSSH) schlägt vor, dass die Datei nur von der aktueller Benutzer Aber es erwähnt nicht, dass es nicht ausführbar sein sollte. Können Sie bitte mehr Einblick geben? – SilentMonk

+0

Ich habe den folgenden Fehler _unable, um Master-SSH-Verbindung herzustellen: die Authentizität des Zielhosts kann nicht hergestellt werden; Der öffentliche Schlüssel des Remote-Hosts ist wahrscheinlich nicht in der Datei "~/.ssh/known_hosts" unter /usr/local/share/perl/5.18.2/Net/OpenSSH/Compat/Perl.pm, Zeile 123 .__, vorhanden. Ich habe SSH mit SSH-Client und seit der öffentliche Schlüssel hinzugefügt wurde, es funktioniert jetzt. Ruft Net :: OpenSSH :: Compat :: Perl den öffentlichen Schlüssel des Remote-Hosts nicht ab? – SilentMonk