Comando: deve essere eseguito da un terminale


9

Ho un account di hosting condiviso, ho effettuato l'accesso usando ssh. quando scrivo per esempio suavevo questo output: su: must be run from a terminal

Questo errore è relativo al fatto che non ho autorizzazioni sufficienti o qualcos'altro?


Normalmente mi aspetto che l'errore sia un'indicazione dell'assenza di TTY allocato per la connessione, ma non ha molto senso se ci si connette tramite SSH e si ottiene una shell. Puoi condividere i passi esatti che fai per ottenere questo errore, a partire da un ssh -F /dev/null user@hostdal tuo sistema locale? (Ciò -F /dev/nullprovoca l' ignoramento di qualsiasi configurazione SSH locale dell'utente o del sistema.) Se non sei autorizzato a utilizzare su, ciò causerà normalmente un messaggio di errore molto più ovvio (anche se non ricordo l'esatta formulazione e non ho un sistema installato dove posso provarlo).
un CVn

1
C'è forse una connessione con securetty (5)? In altre parole, il tty della sessione ssh è elencato in / etc / securetty? (prepend / dev /)
D McKeon,

Ad esempio su, dici questo errore per altri comandi?
ctrl-alt-delor,

Cosa ttymostra il comando ? Stai effettuando il login con ssh e poi digitando suo stai eseguendo ssh su? Quale emulatore di terminale stai usando? Dovresti avere l'accesso come root?
Gilles 'SO- smetti di essere malvagio' il

Cercando di rispondere a tutte le domande: accedo con ssh ( ssh -l login@host hostposso entrare, solo quando si utilizza il comando) di tipo su(altri comandi funziona normalmente), quando ho digitare ttyho: not a tty.
4m1nh4j1

Risposte:


4

Prova l' -topzione a ssh. Se non funziona, prova -tt.

-t Forza l'allocazione pseudo-tty. Questo può essere usato per eseguire programmi arbitrari basati su schermo su una macchina remota, il che può essere molto utile, ad esempio quando si implementano servizi di menu. Le -topzioni multiple impongono l'allocazione di tty, anche se ssh non ha tty locale.


Ho provato ssh -tl root@host hoste con la doppia t, ma ho avuto lo stesso risultato. Ps: come è menzionato nella documentazione, per accedere con ssh dovrei usare un comando come questo ssh -l login@host host.
4m1nh4j1

Perché accedi come root? e non hai bisogno del -l.
ctrl-alt-delor,

Sto usando -lperché ho scoperto che senza aggiungerlo, non riesco ad accedere. Posso vederlo nella documentazione dtcsupport.gplhost.com/UserDoc/FRHow-Works-clientSSH-System (l'unica pagina che ho trovato è in francese). Se non uso -lssh, non accetto la mia password.
4m1nh4j1

Ho creato un account ssh con " root" come login, quindi lo uso root@hostper ssh
4m1nh4j1

Accedi come root, considerato dannoso: la maggior parte delle persone interessate alla sicurezza disabilita l'accesso root. Puoi ottenere i privilegi di root dopo aver effettuato l'accesso (mi raccomando sudo). Se disabiliti anche l'autenticazione con password, forzando così l'autenticazione basata su chiave, avrai bisogno della chiave e della password per accedere a root.
ctrl-alt-delor
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.