sonnenblen.de - Das unabhängige Sun User Forum
Betriebssysteme => Solaris => Thema gestartet von: tecker2010 am 24. November 2008, 11:08:34
-
Hi,
kann mir jemand sagen was ich machen muss oder kann um "passwd" per SSH von einer entfernten Maschine aus ausführen kann??
ssh USERNAME@SOLARIS-HOST passwd
führt zu:
Unexpected failure. Password file/table unchanged
Am User liegt es nicht und der Befehl "ls -l" macht beispielsweise keine Probleme. Bei Debian-Hosts funktionierts. Bei Solaris 9 und 10 das gleiche Phänomen. Scheint also irgendas genrelles zu sein.
Wäre dankbar für Tips. Liegts evtl. an der nsswitch.conf? Steht alles auf "files" beim Solaris Client.
Viele Grüße
-
hast du mal ein "passwd username" am ende versucht?
-
Moin,
der passwd Befehl braucht ein tty - und dieses fehlt bei deinem Test. Probier mal ein
% ssh -t username@hostname passwd
Sollte das ganze aus einem Script heraus kommen, dann evtl. zeimal -t um auch bei fehlendem lokalen tty ein tty auf der anderen Seite zu erzwingen. Siehe dazu "man ssh".
Tschau,
Drusus.
-
Das -t hat mich schonmal ein gutes Stück weiter gebracht. Jetzt muss ich nur noch sehen, wie ich das ganze in meinem Perlskript mit Net::SSH::Perl untergriege. Manuell funktioniert es schonmal (ssh -t USER@SOLARISHOST passwd)
Danke
-
Hallo,
also, wir machen im Normalfall so was:
my $ssh_cmd = '/usr/local/bin/ssh';
my $target_host = '<insert server here';
my $ssh_string = "'";
$ssh_string .= "<insert commands here> ; ";
$ssh_string .= " '";
my $cmd = "$ssh_cmd " .
"$target_host " .
"$ssh_string";
qx ($cmd);
Das reicht im Normalfall völlig.
Du kannst auch einfach mal
ssh user@machine 'pwd;time;hostname' ausführen (vorausgesetzt die keys sind installiert).
Claus