как скопировать файлы с локальной машины на amazon ec2, как пользователь root, используя winscp [duplicate]

Если вы получаете это сообщение во время сохранения или компиляции сборки, просто закройте все файлы, а затем откройте любой файл для компиляции и сохранения.

Для меня причина в том, что я переименовал файл, и старый файл все еще был открыт.

6
задан Aivan Monceller 20 June 2011 в 17:04
поделиться

5 ответов

WinSCP не поддерживает команды, требующие эмуляции терминала или ввода пользователя.

Смотрите: http://winscp.net/rus/docs/remote_command#limitations

Поскольку sudo su - ожидает пароль, это не сработает.

Существует способ: сделать вход root без запроса пароля. Вы можете сделать это, отредактировав файл sudoers, обычно расположенный на /etc/sudoers, и добавив:

root ALL=NOPASSWD: ALL

Не стоит говорить, что это не очень хорошая вещь - по причинам, которые должны быть очевидны :)

1
ответ дан Martin Prikryl 22 August 2018 в 13:36
поделиться
  • 1
    Есть ли способ войти в систему как пользователь без root через WinSCP? – powtac 9 August 2013 в 18:00
  • 2
    Более подробные инструкции по настройке без пароля sudo для WinSCP см. В winscp.net/rus/docs/faq_su – Martin Prikryl 13 June 2014 в 09:07
  • 3
    Я думал, su - потребует пароль, но не sudo su -? OP утверждает, что использует аутентификацию с открытым ключом, поэтому пароль не задействован. Кажется, что трюк позволил юдорам быть счастливыми без устройства TTY, комментируя Defaults requiretty. Более подробно в моем ответе. – Mark Berry 5 August 2014 в 02:46

У меня была такая же проблема и я решил ее, используя шаги этого урока. Я бы разместил его здесь, но у меня нет достаточного количества изображений для изображений / экранов.

http://cvlive.blogspot.de/2014/03/how-to-login- в-в-SSH-корневого пользователя-from.html

2
ответ дан Carl McDade 22 August 2018 в 13:36
поделиться
  • 1
    К сожалению, это не сработало для меня. Но как только я прокомментировал 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 

Полезные ссылки:

Форум 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 сервера, может быть осуществлен и удален, не затрагивая других пользователей.

1
ответ дан Kim_Keown 22 August 2018 в 13:36
поделиться

С учетом этой записи и этой ветви форума AWS кажется, что трюк состоит в том, чтобы комментировать Defaults requiretty в sudoers. Теперь моя процедура:

  1. Войдите в свой экземпляр EC2 с помощью Putty.
  2. Запустите sudo visudo, специальную команду для редактирования /etc/sudoers.
  3. Нажмите клавишу Insert, чтобы начать режим Insert.
  4. Найдите строку Defaults requiretty. Вставьте символ хеша (#) перед этой строкой, чтобы прокомментировать это: #Defaults requiretty
  5. Нажмите клавишу Esc, чтобы выйти из режима вставки.
  6. Введите :wq, чтобы записать file и quit visudo.

В WinSCP:

  1. В разделе «Дополнительно»> «Среда»> «SCP / Shell» измените значение «Среда» на sudo su -.
  2. В разделе SSH> Аутентификация выберите файл приватного ключа (файл .ppk).
8
ответ дан Mark Berry 22 August 2018 в 13:36
поделиться

В настройках SCP / Shell вместо «sudo su -» выберите /bin/bash.

Он должен работать.

-2
ответ дан Peach 22 August 2018 в 13:36
поделиться
  • 1
    /bin/bash позволяет вам войти в систему, но дело в том, чтобы получить разрешения sudo. – Mark Berry 5 August 2014 в 01:54
Другие вопросы по тегам:

Похожие вопросы: