WinSCP подключение к экземпляру Amazon AMI EC2 изменение пользователя после входа в " root"

я следовал инструкции здесь тщательно, однако я не получил это работает правильно. Вот что я сделал:--3-->

  1. Run WinSCP введите имя хоста (эластичный IP моего экземпляра)
  2. введите имя пользователя "ec2-user"
  3. укажите файл открытого ключа
  4. выбрал SCP для протокола
  5. в настройках SCP / Shell я выбрал " sudo su -"
  6. Нажмите Для Входа
  7. WinSCP просит меня ключ парольной фразы, нажмите OK
  8. показывает эту ошибку

ошибка пропуска сообщения запуска. Ваш shell, вероятно, несовместима с применение (BASH рекомендуется).

Примечание: это работает на Putty

5 ответов


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

см.:http://winscp.net/eng/docs/remote_command#limitations

С sudo su - ожидает пароль, он не будет работать.

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

root ALL=NOPASSWD: ALL

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


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

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

В WinSCP:

  1. в разделе Дополнительно > окружающая среда > SCP / Shell измените оболочку на sudo su -.
  2. в разделе SSH > аутентификация выберите Файл закрытого ключа ().

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

http://cvlive.blogspot.de/2014/03/how-to-login-in-as-ssh-root-user-from.html


следующий учебник работал для меня и предоставляет полезные скриншоты. Вход в систему как обычный пользователь с разрешениями sudo просто требовал настройки нескольких параметров WinSCP. http://cvlive.blogspot.de/2014/03/how-to-login-in-as-ssh-root-user-from.html

установите протокол сеанса / файла в: SCP, введите IP-адрес хоста / экземпляра, порт - обычно 22 и обычное имя пользователя. Введите пароль, если это необходимо для входа. Добавьте файл расширенного / SSH / аутентификации / закрытого ключа.

снятие флажка Advanced/SSH/Authentication/attempt "keyboard interactive" authentication должно позволить Advanced/Environment/SCP Shell/Shell / Shell: sudo su - предоставить разрешения sudo для доступа к каталогам веб-сервера в качестве пользователя, не являющегося владельцем.


обновление 08/03/2017

ведение журнала WinSCP может быть полезно для устранения неполадок: https://winscp.net/eng/docs/logging

[WinSCP] ведение журнала может быть включен со страницы логирование настройках. Ведение журнала также можно включить из командной строки с помощью /log и /xmllog параметры соответственно, что особенно полезно при скриптинге. В .Net-сборки, протоколирование сеанса через Сессия.SessionLogPath1).

в зависимости от ошибок подключения WinSCP некоторым установкам сервера может потребоваться директива, добавленная в файл (Ubunto, CentOS, other-Linux-Server) /etc/sudoers, чтобы не требовать TTY для указанного пользователя. Создание файла в /etc / sudoers.d /(с помощью такого инструмента, как интерфейс командной строки Amazon или шпатлевка) может быть лучшим вариантом, чем редактирование/etc / sudoers. Некоторые версии /etc/sudoers рекомендуют:

этот файл должен быть отредактирован с помощью команды 'visudo' в качестве root. Пожалуйста, подумайте о добавлении локального контента в /etc / sudoers.d вместо прямое изменение этого файла. Подробные сведения о том, как написать файл sudoers, см. На странице руководства.

при редактировании файла sudoers (как root) через командную строку команда "visudo" должна использоваться для открытия файла, поскольку она будет анализировать файл для синтаксических ошибок. в /etc/пользователям использовать sudo?.d / файлы обычно принадлежат root и chmoded с минимальными разрешениями. На файл /etc/sudoers по умолчанию можно ссылаться, так как он должен автоматически рекомендовать разрешения chmod для установки. например: 0440 r--r - - - - -.

https://superuser.com/a/869145 :

visudo-f в /etc/пользователям использовать sudo?.d / somefilename

Defaults:username !requiretty 

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

помощью WinSCP Форум:

WinSCP Doc:https://winscp.net/eng/docs/faq_su

С протоколом SCP вы можете указать следующую команду в качестве пользовательской оболочки на странице SCP/Shell диалогового окна Дополнительные Настройки сайта:

sudo-s

[...]

обратите внимание, что, поскольку WinSCP не может реализовать эмуляцию терминала, вам необходимо у sudoers опция requiretty отключена.

инструкции в Ubuntu Апача в /etc/пользователям использовать sudo? рекомендуем добавление директивы в /etc/пользователям использовать sudo?.d вместо редактирования /etc / sudoers напрямую. В зависимости от установки добавьте директиву в /etc/sudoers.d / cloud-init также может работать.

может быть полезно создать тестового пользователя SSH с разрешениями sudo, выполнив шаги, указанные в документация экземпляра, чтобы убедиться, что пользователь рекомендовал параметры экземпляра и любые обновления файлов sudoer сервера могут быть выполнены и удалены без ущерба для других пользователей.


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

Это должно сработать.