Я пробовал разные способы и читал некоторые решения, в том числе следующие:
Почему я не могу использовать ssh как root?
Редактирование с помощью Winscp
И статья с форума Ubuntu
Я не понимаю, почему, когда я связываюсь с ubuntu
через PuTTY я могу иметь права root и изменять файлы. Однако когда я подключаюсь к ubuntu
через WinSCP я другой пользователь (я использовал то же имя пользователя и тот же закрытый ключ (pem) в обоих подключаемых программах) и не могу изменять файлы.
Затем я нашел несколько возможных решений по ссылкам выше. Я пытался установить root
пароль и permitRootLogin
. Но затем, когда я вхожу в систему с root
имя пользователя, в нем говорится:
Получен слишком большой (1349281121 Б) пакет SFTP. Максимальный поддерживаемый размер пакета - 1024000Б. Ошибка обычно возникает из-за сообщения, напечатанного из сценария запуска (например, .profile). Сообщение может начинаться с «Мольбы».
Невозможно инициализировать протокол SFTP. На хосте работает SFTP-сервер?
тогда как когда я изменил имя пользователя обратно на ubuntu
, то это работает (но я не могу изменять файлы, если я не root
пользователь).
Я очень запутался, пожалуйста, если вы можете указать на меня, я был бы очень признателен.
Я считаю, что сообщение об ошибке, которое вы получаете, объясняет это.
Ваш сервер root
в аккаунте неправильно настроены скрипты профиля. Некоторые из них печатают сообщение, нарушающее протокол SFTP. Существуют разные сценарии профиля для терминального и нетерминального сеанса (тот, который имеет или не имеет выделенного TTY). Сообщения можно распечатать только из сценария, используемого для терминальных сессий. Когда вы печатаете сообщение из сценария профиля, используемого для нетерминальных сеансов, он нарушает работу любого клиента, использующего строгий протокол (например, SFTP или SCP).
Сообщение начинается с "Мольбы", как сказано в сообщении об ошибке. Это может быть что-то столь же тривиальное, как
echo "Please be careful when using root account!"
Вы увидите полное сообщение, когда войдете в систему с помощью терминала SSH (например, PuTTY).
Обычно вам нужно переместить команды, печатающие сообщение, из .bashrc
сценарий для .bash_profile
.
Работает с ubuntu
учетной записи, поскольку ее сценарии профиля не выводят сообщение об ошибке.
См. Также информацию об ошибке в документации WinSCP. «Получен слишком большой (... B) пакет SFTP. Максимально поддерживаемый размер пакета составляет 102400 B».