Команда: повинна запускатися з терміналу


9

У мене є спільний хостинг-акаунт, я входив у систему за допомогою ssh. коли я набираю, наприклад, у suмене був такий вихід: su: must be run from a terminal

Чи є ця помилка стосовно того, що я не маю достатніх дозволів чи чогось іншого?


Зазвичай я очікую, що ця помилка буде вказівкою на те, що для з'єднання не виділено TTY, але це не має великого сенсу, якщо ви підключаєтесь через SSH та отримуєте оболонку. Чи можете ви поділитися точними кроками, які ви робите, щоб отримати цю помилку, починаючи з ssh -F /dev/null user@hostлокальної системи? ( -F /dev/nullПричина ігнорування будь-якої конфігурації SSH системи або користувача). Якщо ви не маєте права використовувати su, це, як правило, спричинить набагато більш очевидне повідомлення про помилку (хоча я не пам'ятаю точне формулювання, і не маю система, налаштована там, де я можу це спробувати).
CVn

1
Чи можливий підключення до безпеки (5)? Іншими словами, чи вказано tty сесії ssh у / etc / securetty? (prepend / dev /)
D McKeon

Ви говорите, наприклад su, чи отримуєте ви цю помилку для інших команд?
ctrl-alt-delor

Що показує команда tty? Ви входите в систему за допомогою ssh, після чого набираєте текст su, чи запущено ssh su? Який термінальний емулятор ви використовуєте? Чи маєте ви мати кореневий доступ?
Жил 'SO- перестань бути злим'

Намагаючись відповісти на всі питання: я увійти з SSH ( ssh -l login@host hostя можу увійти, тільки при використанні цієї команди) , ніж тип su(інші команди працюють нормально), коли я друкую у ttyмене є: not a tty.
4m1nh4j1

Відповіді:


4

Спробуйте -tвибрати ssh. Якщо це не працює, спробуйте -tt.

-t Примусове виділення псевдо-тти. Це можна використовувати для виконання довільних екрано-програмних програм на віддаленій машині, що може бути дуже корисно, наприклад, під час реалізації служб меню. Кілька -tопцій примушують розподілити tty, навіть якщо ssh не має локальних tty.


Я спробував ssh -tl root@host hostі з подвійним t, але мав той же результат. Ps: як зазначено в документації, для входу в систему з ssh я повинен використовувати таку команду ssh -l login@host host.
4m1nh4j1

Чому ви входите як root? і вам це не потрібно -l.
ctrl-alt-delor

Я використовую, -lтому що я виявив, що не додаючи його, я не можу увійти. Я бачу це в документації dtcsupport.gplhost.com/UserDoc/FRHow-Works-clientSSH-System (Єдина сторінка, яку я знайшов, - це французькою мовою). Якщо я не використовую -lssh, не приймайте свій пароль.
4m1nh4j1

Я створив обліковий запис ssh з " root" як логіном, тому використовую root@hostдля ssh
4m1nh4j1

Вхід як кореневий, вважається шкідливим. Більшість людей, які займаються безпекою, відключають вхід у систему. Ви можете отримати привілеї root після входу (рекомендую sudo). Якщо ви також відключите автентифікацію пароля, таким чином змушуючи аутентифікацію на основі ключа, вам знадобиться ключ та пароль, щоб отримати корінь.
ctrl-alt-delor
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.