Befehl: muss von einem Terminal ausgeführt werden


9

Ich habe ein gemeinsames Hosting-Konto und habe mich mit ssh angemeldet. Wenn ich zum Beispiel sutippe, hatte ich diese Ausgabe: su: must be run from a terminal

Bezieht sich dieser Fehler auf die Tatsache, dass ich nicht über ausreichende Berechtigungen verfüge, oder auf etwas anderes?


Normalerweise würde ich erwarten, dass dieser Fehler ein Hinweis darauf ist, dass der Verbindung kein TTY zugewiesen ist, aber das macht wenig Sinn, wenn Sie eine Verbindung über SSH herstellen und eine Shell erhalten. Können Sie die genauen Schritte mitteilen, die Sie unternehmen, um diesen Fehler zu erhalten, beginnend mit einem ssh -F /dev/null user@hostvon Ihrem lokalen System? ( -F /dev/nullDies führt dazu, dass die lokale SSH-Konfiguration eines Systems oder Benutzers ignoriert wird.) Wenn Sie nicht zur Verwendung berechtigt susind, führt dies normalerweise zu einer viel offensichtlicheren Fehlermeldung (obwohl ich mich nicht an den genauen Wortlaut erinnere und nicht habe ein System eingerichtet, wo ich es ausprobieren kann).
ein CVn

1
Gibt es vielleicht eine Verbindung zu securetty (5)? Mit anderen Worten, ist die Anzahl der SSH-Sitzungen in / etc / securetty aufgeführt? (prepend / dev /)
D McKeon

Sie sagen zum Beispiel su, erhalten Sie diesen Fehler für andere Befehle?
Strg-Alt-Delor

Was zeigt der Befehl tty? Melden Sie sich mit ssh an und tippen Sie dann ein suoder laufen Sie ssh su? Welchen Terminalemulator verwenden Sie? Solltest du Root-Zugriff haben?
Gilles 'SO - hör auf böse zu sein'

Ich versuche, alle Fragen zu beantworten: Ich melde ssh -l login@host hostmich mit ssh an ( ich kann mich nur mit diesem Befehl anmelden) als mit type su(andere Befehle funktionieren normal), wenn ich Folgendes ttyeingebe : not a tty.
4m1nh4j1

Antworten:


4

Versuchen Sie die -tOption zu ssh. Wenn das nicht funktioniert, versuchen Sie es -tt.

-t Pseudo-tty-Zuweisung erzwingen. Dies kann verwendet werden, um beliebige bildschirmbasierte Programme auf einem Remote-Computer auszuführen, was sehr nützlich sein kann, z. B. bei der Implementierung von Menüdiensten. Mehrere -tOptionen erzwingen die Zuweisung von tty, auch wenn ssh keine lokale tty hat.


Ich habe es ssh -tl root@host hostmit Double T versucht, hatte aber das gleiche Ergebnis. Ps: Wie in der Dokumentation erwähnt, sollte ich einen solchen Befehl verwenden, um mich mit ssh anzumelden ssh -l login@host host.
4m1nh4j1

Warum loggst du dich als root ein? und du brauchst das nicht -l.
Strg-Alt-Delor

Ich benutze, -lweil ich festgestellt habe, dass ich mich nicht anmelden kann, ohne es hinzuzufügen. Ich kann dies in der Dokumentation dtcsupport.gplhost.com/UserDoc/FRHow-Works-clientSSH-System sehen (Die einzige Seite, die ich gefunden habe, ist auf Französisch). Wenn ich -lssh nicht benutze , akzeptiere mein Passwort nicht.
4m1nh4j1

Ich habe ein SSH-Konto mit " root" als Login erstellt, also verwende ich root@hostfür
SSH

Als Root anmelden, als schädlich eingestuft: Die meisten Sicherheitsbedenken deaktivieren die Root-Anmeldung. Sie können Root-Rechte erwerben, sobald Sie angemeldet sind (ich empfehle sudo). Wenn Sie auch die Kennwortauthentifizierung deaktivieren und so die schlüsselbasierte Authentifizierung erzwingen, benötigen Sie den Schlüssel und das Kennwort, um zum Stammverzeichnis zu gelangen.
Strg-Alt-Delor
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.