Как запустить команду SUDO в WinSCP для передачи файлов из Windows в Linux

Я пытаюсь использовать WinSCP для передачи файлов в экземпляр Linux из Windows.

Я использую закрытый ключ для своего экземпляра, чтобы войти в экземпляр Amazon с помощью пользователя ec2. Однако пользователь ec2 не имеет доступа для записи в экземпляр Linux.

Как мне sudo su - получить доступ к корневому каталогу и записать в ящик Linux, используя WinSCP или любой другой метод передачи файлов?

Спасибо


person PC2015    schedule 14.01.2016    source источник
comment
Возможный дубликат WinSCP подключается к Инстанс Amazon AMI EC2 меняет пользователя после входа в root   -  person Martin Prikryl    schedule 15.01.2016


Ответы (7)


Насколько я знаю, вы не можете этого сделать.
Что я сделал на своем рабочем месте, так это перенес файлы в вашу папку home (~) (или любую папку, в которой у вас есть полные права, т.е. chmod 777 или варианты) через WinSCP, а затем SSH к вашей Linux-машине и sudo оттуда в папку назначения.

Другим решением было бы изменить права доступа к каталогам, в которые вы планируете загружать файлы, чтобы ваш пользователь (без привилегий sudo) мог писать в эти каталоги.

Я также хотел бы прочитать об удаленных командах WinSCP для получения дополнительной информации.

person Idos    schedule 14.01.2016
comment
Неправильно. На самом деле есть несколько разных способов добиться этого. - person Brady; 15.12.2019

Я знаю, что это старо, но на самом деле это очень возможно.

  • Перейдите в свой профиль WinSCP (Сеанс › Сайты › Диспетчер сайтов)

  • Нажмите «Правка» > «Дополнительно...» > «Среда» > «SFTP».

  • Вставьте sudo su -c /usr/lib/sftp-server в SFTP-сервер (обратите внимание, что этот путь может отличаться в вашей системе)

  • Сохранить и подключить

Источник

AWS Ubuntu 18.04: введите здесь описание изображения

person Pelly    schedule 21.06.2018
comment
Дополнительные сведения см. в FAQ по WinSCP Как изменить пользователя после входа в систему (например, su root)? - person Martin Prikryl; 22.06.2018
comment
это /usr/libexec/openssh/sftp-server для Amazon Linux AMI - person Mr.Shan0; 27.11.2018
comment
@Mr.Shan0 Я люблю тебя: D К вашему сведению, я думаю, что это для Amazon Linux 2, который основан на CentOS ... Amazon Linux основан на Ubuntu и использует /usr/lib/sftp-server - person Connor; 08.02.2019
comment
/usr/lib/openssh/sftp-сервер для Ubuntu 14 - person user889030; 13.03.2019
comment
Просто чтобы добавить к этому: я использую openssh в CentOS 7, у меня работал sudo su -c /usr/lib/openssh/sftp-server, но только после редактирования файла sudoers для комментирования По умолчанию !visiblepw. - person Brady; 15.12.2019
comment
У меня работало на Ubuntu 18 (sudo su -c /usr/lib/sftp-server) - person Dammeul; 28.01.2020
comment
Не удается инициализировать протокол SFTP. Хост работает с SFTP-сервером? на сервере работает SFTP-сервер. - person namjoo.org; 04.11.2020
comment
То же, что и @Biodiversity, я получаю сообщение «Невозможно инициализировать протокол SFTP». Хост работает с SFTP-сервером? ошибка в WinSCP. Я также проверил, что мой путь к sftp-серверу правильный. - person protango; 07.01.2021
comment
Для центосsudo /usr/libexec/openssh/sftp-server - person Peuczynski; 29.05.2021

В WinSCP есть опция, которая делает именно то, что вы ищете:

введите описание изображения здесь

введите описание изображения здесь

person Eng.Fouad    schedule 08.12.2018
comment
Ошибка: sudo: нет tty и не указана программа askpass - person Gerfried; 28.02.2020
comment
Ошибка пропуска сообщения о запуске. Вероятно, ваша оболочка несовместима с приложением (рекомендуется BASH). - person namjoo.org; 04.11.2020
comment
Я решаю эту проблему, меняя root вместо пользователя и меняя пароль root. - person namjoo.org; 04.11.2020

Обычно все пользователи имеют доступ на запись к /tmp. Поместите файл в /tmp, а затем войдите в систему, затем вы можете sudo и скопировать файл.

person S A    schedule 10.09.2018

У меня такая же проблема, и я не уверен, возможно ли это, или нет,

попробовал вышеуказанные решения, у меня не сработало.

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

person Naresh A    schedule 25.02.2020
comment
Да, но в /tmp может быть много файлов сеансов приложений, я предлагаю иметь файлы в каталоге HOME только во избежание путаницы, и пользователь может отслеживать свои файлы, если требуется, они могут проверить. Не могли бы вы предоставить решение моего вопроса, если оно у вас есть? - person Naresh A; 25.02.2020
comment
Если у вас есть вопрос, то пишите вопрос вместо ответа. - person Martin Prikryl; 26.02.2020
comment
Это своего рода обходной путь для вышеуказанного вопроса, как я уже сказал, я ищу прямое решение для того же вопроса. - person Naresh A; 26.02.2020

Я просто хотел упомянуть для сервера SUSE Enterprise V15.2 на экземпляре EC2 команду для добавления к командам сервера SFTP winSCP:

sudo su -c /usr/lib/ssh/sftp-server

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

person Anthony Percivalle    schedule 11.04.2021

Пометка этого ответа, который помог мне, может не ответить на фактический вопрос

Если вы используете пароль вместо закрытого ключа, обратитесь к этому ответу для протестированного рабочего решения в Ubuntu 16.04.5 и 20.04.1.

https://stackoverflow.com/a/65466397/2457076

person SRi    schedule 27.12.2020