Ich versuche, die BIOS-Version eines Servers über SSH zu überprüfen. Dieser Befehl erfordert Root-Rechte:
ssh remote-server su -c dmidecode
aber das scheitert natürlich mit dem fehler:
Standard in muss ein tty sein
Wie mache ich das? Ich kann sudo nicht verwenden. Wenn ich versuche, mich als root @ remote-server anzumelden, wird das Kennwort, das ich für den Befehl 'su' verwende, nicht akzeptiert. Ich verwende RedHat Enterprise Linux 4.
Antworten:
Verwenden Sie
-t
diese Option, um ssh zu zwingen, ein tty zuzuweisen:Sie können auch in Betracht ziehen, root direkt ssh zuzulassen. Wenn Sie die Authentifizierung mit öffentlichem Schlüssel verwenden, ist dies möglicherweise sicherer, da Sie kein Kennwort weitergeben. Wenn Sie sich dazu entschließen, können Sie Root-Anmeldungen von einer anderen Stelle als Ihren vertrauenswürdigen IP-Adressen blockieren, indem Sie Folgendes eingeben
/etc/security/access.conf
:und stellen Sie sicher, dass
UsePAM
in nicht deaktiviert istsshd_config
quelle
-t
s in Ihr Beispiel aufgenommen haben?Können Sie sich nicht einfach als Standardbenutzer beim Remote-Server anmelden und dann sudo verwenden ?
Sie können auch versuchen, den von ssh auszuführenden Befehl wie in zu zitieren
oder
quelle