Polecenie: należy uruchomić z terminala


9

Mam wspólne konto hostingowe, logowałem się przy użyciu ssh. kiedy piszę na przykład su, miałem ten wynik: su: must be run from a terminal

Czy ten błąd odnosi się do faktu, że nie mam wystarczających uprawnień lub do czegoś innego?


Zwykle spodziewam się, że ten błąd będzie wskazywał na brak przydzielonego TTY dla połączenia, ale nie ma to większego sensu, jeśli łączysz się przez SSH i dostajesz powłokę. Czy możesz podzielić się dokładnymi krokami podjętymi w celu uzyskania tego błędu, zaczynając ssh -F /dev/null user@hostod z systemu lokalnego? ( -F /dev/nullPowoduje to, że każda lokalna konfiguracja SSH systemu lub użytkownika jest ignorowana.) Jeśli nie masz uprawnień do używania su, zwykle spowoduje to znacznie bardziej oczywisty komunikat o błędzie (chociaż nie pamiętam dokładnego sformułowania i nie mam system skonfigurowany, w którym mogę go wypróbować).
CVn

1
Czy może jest połączenie z securetty (5)? Innymi słowy, czy tty sesji ssh jest wymieniony w / etc / securetty? (prepend / dev /)
D McKeon,

Mówisz na przykład su, czy ten błąd występuje w przypadku innych poleceń?
ctrl-alt-delor

Co ttypokazuje polecenie ? Czy logujesz się przy użyciu ssh, a następnie piszesz su, czy działasz ssh su? Jakiego emulatora terminala używasz? Czy powinieneś mieć dostęp do roota?
Gilles „SO - przestań być zły”,

Starając się odpowiedzieć na wszystkie pytania: Loguję się z ssh ( ssh -l login@host hostmogę się zalogować tylko przy użyciu tej komendy) niż typ su(inne polecenia działa normalnie), po wpisaniu ttymam: not a tty.
4m1nh4j1

Odpowiedzi:


4

Wypróbuj -topcję ssh. Jeśli to nie zadziała, spróbuj -tt.

-t Wymuś alokację pseudotty. Można to wykorzystać do wykonania dowolnych programów ekranowych na zdalnym komputerze, co może być bardzo przydatne, np. Przy wdrażaniu usług menu. Wiele -topcji wymusza alokację tty, nawet jeśli ssh nie ma lokalnego tty.


Próbowałem ssh -tl root@host hostz podwójnym t, ale miałem ten sam wynik. Ps: jak wspomniano w dokumentacji, aby zalogować się za pomocą ssh, powinienem użyć takiego polecenia ssh -l login@host host.
4m1nh4j1

Dlaczego logujesz się jako root? i nie potrzebujesz -l.
ctrl-alt-delor,

Używam, -lponieważ znalazłem, że bez dodania go nie mogę się zalogować. Widzę to w dokumentacji dtcsupport.gplhost.com/UserDoc/FRHow-Works-clientSSH-System (jedyną znalezioną przeze mnie stroną jest francuski). Jeśli nie używam -lssh, nie akceptuj mojego hasła.
4m1nh4j1

Utworzyłem konto ssh z rootlogowaniem „ ”, więc używam root@hostdla ssh
4m1nh4j1,

Zaloguj się jako root, uważany za szkodliwy: Większość osób zainteresowanych bezpieczeństwem wyłącza logowanie do roota. Możesz uzyskać uprawnienia roota po zalogowaniu (polecam sudo). Jeśli wyłączysz również uwierzytelnianie hasłem, wymuszając w ten sposób uwierzytelnianie oparte na kluczach, będziesz potrzebować klucza i hasła, aby dostać się do rootowania.
ctrl-alt-delor
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.