Мне нужно получить доступ к /var/logs
папке и многим таким папкам на моем удаленном сервере из nautilus, используя «Подключиться к серверу» через ssh. Я избегаю root-логинов и отключил его. Я хотел бы использовать sudo
вместо этого, так же, как я делаю это с сессиями SSH в терминале. Как я могу использовать nautilus sudo
на удаленном сервере для получения доступа? (Root-логин отключен на сервере)
Если нет самого nautilus, есть ли альтернативы, которые могут помочь достичь этого?
sudo
значит сделать это как суперпользователь (root). Вы говорите, что вы можетеsudo
на сервере вручную, вам просто нужно получить nautilus, чтобы использовать его при подключении к серверу?Ответы:
Очевидно, что запуск Nautilus в качестве локальной учетной записи root (с помощью sudo, gksu и т. Д.) Не даст вам root-права на сервере.
Проблема в том, что SFTP-сервер в OpenSSH (к которому подключается Nautilus) не поддерживает такие команды, как
sudo
- это не оболочка. То, что вы просите просто, невозможно с помощью стандартных механизмов.Однако вы не без вариантов. Я не уверен, насколько вы знакомы с SSH, но вы можете туннелировать порты обратно через соединение, чтобы вы могли нормально подключиться, запустить простой FTP-сервер от имени root и туннелировать все это обратно на ваш компьютер через SSH. Звучит ужасно, но это довольно просто.
На сервере запустите:
Затем с вашего компьютера просто запустите короткую команду SSH:
А затем в Nautilus (на вашем компьютере) подключитесь к
ftp://localhost:2121
. Магия SSH перенаправит это на FTP-сервер, работающий от имени пользователя root.Существуют и другие протоколы (я потратил некоторое время на поиски лучшего), но FTP легче всего запустить и запустить, во многом благодаря
pyftpdlib
. Вы могли бы сделать подобные вещи с webdav и др., Я уверен ... Было бы намного больше хакерства вокруг.источник
/usr/bin/python: No module named pyftpdlib.__main__; 'pyftpdlib' is a package and cannot be directly executed
во время аутентификации на сервере.sudo python -m pyftpdlib.ftpserver ...
pyftpdlib.ftpserver module is deprecated
Это то, что вы получаете, когда используете apt-get (по крайней мере, 14.04). В любом случае вам нужно будет выбрать путь вВы пробовали WinSCP? Вы можете скачать переносимый исполняемый файл с их сайта и запустить его с помощью WINE.
sudo apt-get install wine
wine WinSCP.exe
sudo su -
Перетаскивание из Наутилуса также возможно.
источник
Запустите наутилус из терминала с
gksudo nautilus
.Помните, что инструменты с графическим интерфейсом, работающие с правами root, не очень хорошая политика.
источник
Возможно, это не лучший способ, но просто подумайте: если на вашем удаленном сервере включен X11, вы можете просто добавить команду
Но @Oli объяснил это, вы не можете использовать SFTP-сервер в OpenSSH
Также это неплохая идея, но если вы разрешите вашему sshuser только чтение файлов, которые вам нужны, ваша проблема решена.
источник
Я не уверен, правильно ли я отвечаю, но, возможно, я могу немного помочь.
SSH на ваш сервер с
ssh -XC user@address
Тег -XC направит окно к вашему компьютеру, когда что-то будет открыто.
Затем попробуйте,
sudo nautilus
и тогда nautilus вашего сервера откроется на вашем локальном экране.источник