Редактирование с помощью Winscp

Я хотел бы редактировать файлы в моем /etc из winscp.

У меня есть права администратора на этом компьютере. Как я могу редактировать файлы и сохранять их из Winscp в папках, которые требуют sudo быть написано до внесения любых изменений.

Я хотел бы сделать это, потому что я ненавижу редактировать файлы в терминале на машине с Windows, и Winscp предоставляет хороший редактор, который часто более убедителен

Пожалуйста и спасибо.

4 ответа

Решение

Как я могу редактировать файлы и сохранять их из Winscp в папках, которые требуют записи sudo перед любыми изменениями.

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

Что вы можете сделать, это включить SSH-доступ к root с помощью ключа, а затем настроить аутентификацию на основе ключей. Для этого вы должны установить PermitRootLogin without-password в вашем /etc/ssh/sshd_configи затем вы сгенерируете ключ, используя ваш любимый инструмент (возможно, puttygen.exe), и поместите публичный компонент в /root/.ssh/authorized_keys. Если вы будете искать на этом сайте, вы найдете много вопросов и ответов об аутентификации на основе ключей. Затем просто используйте winscp для подключения в качестве учетной записи root, и у вас будет возможность редактировать файлы по мере необходимости.

Я предупреждаю вас, что если вы сделаете это, крайне важно использовать текстовый редактор, который будет создавать текстовые файлы, используя окончания строк в стиле UNIX. Что-то вроде блокнота или WordPad может серьезно испортить ваши файлы конфигурации.

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

Кроме того, я бы посоветовал вам использовать что-то вроде etcke eper, чтобы ваш каталог /etc хранился в системе контроля версий. Это позволит вам быстро вернуться к предыдущим версиям, если вы используете его правильно.

Другой способ может быть лучше, и все же дать вам текстовый редактор с графическим интерфейсом - установить сервер X11 на окнах и редактор с графическим интерфейсом на сервере, например, SciTE. Затем вы бы включили SSH с включенной переадресацией X11, и вы могли бы запустить текстовый редактор GUI и редактировать файлы. (Мой ответ на аналогичный вопрос можно найти здесь https://superuser.com/questions/134688/putty-external-text-editor/134694)

Cakemox это правильно. Однако использование ssh-соединения для изменения системных файлов - это путь. Вы можете использовать putty для подключения вашего ssh-сервера.

Я использую WinSCP для передачи файлов и Putty для удаленного подключения.

Хотя я НАСТОЯТЕЛЬНО не рекомендовал бы редактировать системные файлы таким образом (вам действительно нужно войти в систему с помощью ssh-клиента, такого как putty, а затем отредактировать файлы с помощью vim, emacs, joe, nano и т. Д.), Это представляется возможным:

http://winscp.net/eng/docs/faq_su

Для некоторых файлов, таких как /etc/sudoers, /etc/passwd, а также /etc/shadow, вы действительно должны использовать такие команды, как visudo а также vipw вместо того, чтобы редактировать файлы напрямую. Редактирование этих файлов с помощью редактора, запущенного через WinSCP, пропускает некоторые меры безопасности, которые предоставляют эти команды.

Но, действительно, не делай этого. Не для системных файлов.

scp может быть опасным при редактировании системных файлов, скажем, ваше соединение прерывается во время отправки /etc/shadow (маловероятно), что будет трудно исправить, если у вас нет физического доступа к машине или какой-либо консольный доступ!

Другие вопросы по тегам