Если вы получаете это сообщение во время сохранения или компиляции сборки, просто закройте все файлы, а затем откройте любой файл для компиляции и сохранения.
Для меня причина в том, что я переименовал файл, и старый файл все еще был открыт.
WinSCP не поддерживает команды, требующие эмуляции терминала или ввода пользователя.
Смотрите: http://winscp.net/rus/docs/remote_command#limitations
Поскольку
sudo su -
ожидает пароль, это не сработает.Существует способ: сделать вход
root
без запроса пароля. Вы можете сделать это, отредактировав файл sudoers, обычно расположенный на/etc/sudoers
, и добавив:root ALL=NOPASSWD: ALL
Не стоит говорить, что это не очень хорошая вещь - по причинам, которые должны быть очевидны :)
У меня была такая же проблема и я решил ее, используя шаги этого урока. Я бы разместил его здесь, но у меня нет достаточного количества изображений для изображений / экранов.
http://cvlive.blogspot.de/2014/03/how-to-login- в-в-SSH-корневого пользователя-from.html
Defaults requiretty
в sudoers, мне удалось подключиться - даже при «аутентичной» клавиатуре «попытка», проверено.
– Mark Berry
5 August 2014 в 02:28
Следующий учебник работал для меня и предоставляет полезные скриншоты. Вход в систему как обычный пользователь с разрешениями sudo просто потребовал настройки нескольких параметров WinSCP. http://cvlive.blogspot.de/2014/03/how-to-login-in-as-ssh-root-user-from.html
Установить сеанс / Файловый протокол: SCP, введите host / instance ip, порт - обычно 22 и регулярное имя пользователя. Введите учетные данные пароля, если это требует логин. Добавьте файл Advanced / SSH / Authentication / Private key.
Отмена проверки подлинности / SSH / аутентификации / попытки «интерактивной клавиатуры» должна позволить Advanced / Environment / SCP Shell / Shell / Shell: sudo su - предоставлять разрешения sudo для доступа к каталогам веб-серверов как пользователя, не являющегося владельцем .
Обновление 08/03/2017
Ведение журнала WinSCP может помочь в устранении неполадок: https://winscp.net / eng / docs / logging
[WinSCP] Ведение журнала можно активировать на странице ведения журнала диалога «Настройки». Ведение журнала также можно активировать из командной строки с использованием параметров / log и / xmllog соответственно, что особенно полезно при написании сценариев. В сборке .NET регистрация сеанса включена с помощью Session.SessionLogPath1).
В зависимости от ошибок подключения WinSCP некоторым установкам сервера может потребоваться директива, добавленная в (Ubunto, CentOS, other-Linux -Server) / etc / sudoers, чтобы не требовать TTY для указанного пользователя. Создание файла в /etc/sudoers.d/ (с использованием такого инструмента, как интерфейс командной строки Amazon или PuTTY), может быть лучшим вариантом, чем редактирование / etc / sudoers. Некоторые версии / etc / sudoers рекомендуют:
Этот файл ДОЛЖЕН быть отредактирован командой 'visudo' как root. Попробуйте добавить локальный контент в /etc/sudoers.d/ вместо прямого изменения этого файла. См. Man-страницу для получения подробных сведений о том, как записать файл sudoers.
При редактировании файла sudoers (через root) через командную строку, команда visudo должна использоваться для открытия файл, поскольку он будет анализировать файл для синтаксических ошибок. Файлы /etc/sudoers.d/ обычно принадлежат root и chmoded с минимальными разрешениями. На файл по умолчанию / etc / sudoers можно ссылаться, так как он должен автоматически рекомендовать разрешения chmod при установке. например: 0440 r - r -----.
https://superuser.com/a/869145 :
visudo -f /etc/sudoers.d/somefilename
Defaults:username !requiretty
Полезные ссылки:
- Stackoverflow: cloud-init, как добавить пользователя по умолчанию sudoers.d https://www.digitalocean.com/community/tutorials/how-to-edit-the-sudoers-file-on-ubuntu-and-centos
Форум WinSCP:
WinSCP Doc: https: // winscp. net / eng / docs / faq_su
С протоколом SCP вы можете указать следующую команду как пользовательскую оболочку на странице SCP / Shell диалогового окна «Дополнительные настройки сайта»:
sudo -s
[...]
Обратите внимание, что поскольку WinSCP не может реализовать эмуляцию терминала, вам необходимо отключить параметр sudoers requiretty.
Инструкции в Ubuntu Apache / etc / sudoers r Рекомендуйте добавлять директивы в /etc/sudoers.d, а не напрямую редактировать / etc / sudoers. В зависимости от установки может также быть добавлена директива для /etc/sudoers.d/cloud-init.
Может быть полезно создать тестовый пользователь SSH с разрешениями sudo, выполнив шаги, указанные в примере документацию, чтобы гарантировать, что пользователь рекомендовал настройки экземпляра и любые обновления для файлов sudoer сервера, может быть осуществлен и удален, не затрагивая других пользователей.
С учетом этой записи и этой ветви форума AWS кажется, что трюк состоит в том, чтобы комментировать Defaults requiretty
в sudoers. Теперь моя процедура:
sudo visudo
, специальную команду для редактирования /etc/sudoers.Defaults requiretty
. Вставьте символ хеша (#
) перед этой строкой, чтобы прокомментировать это: #Defaults requiretty
:wq
, чтобы записать file и quit visudo
. В WinSCP:
sudo su -
. .ppk
). В настройках SCP / Shell вместо «sudo su -» выберите /bin/bash.
Он должен работать.
/bin/bash
позволяет вам войти в систему, но дело в том, чтобы получить разрешения sudo.
– Mark Berry
5 August 2014 в 01:54
sudo
для WinSCP см. В winscp.net/rus/docs/faq_su – Martin Prikryl 13 June 2014 в 09:07su -
потребует пароль, но неsudo su -
? OP утверждает, что использует аутентификацию с открытым ключом, поэтому пароль не задействован. Кажется, что трюк позволил юдорам быть счастливыми без устройства TTY, комментируяDefaults requiretty
. Более подробно в моем ответе. – Mark Berry 5 August 2014 в 02:46