Muszę uzyskać dostęp do /var/logs
folderu i wielu takich folderów na moim zdalnym serwerze z nautilus, używając „Połącz z serwerem” przez ssh. Unikam logowania roota i wyłączyłem go. Chciałbym użyć sudo
zamiast tego, tak jak robię to z sesjami SSH w terminalu. Jak mogę użyć nautilusa sudo
na zdalnym serwerze, aby uzyskać dostęp? (Logowanie root jest wyłączone na serwerze)
Jeśli nie sam nautilus, czy są jakieś alternatywy, które mogą pomóc w osiągnięciu tego celu?
sudo
znaczy zrób to jako superużytkownik (root). Czy mówisz, że możeszsudo
ręcznie na serwerze, wystarczy, że nautilus użyje go podczas łączenia się z serwerem?Odpowiedzi:
Oczywiście uruchamianie Nautilusa jako lokalnego konta roota (z sudo, gksu itp.) Nie da ci dostępu do roota na serwerze.
Problem polega na tym, że serwer SFTP w OpenSSH (z którym łączy się Nautilus) nie obsługuje poleceń takich jak
sudo
- nie jest to środowisko powłoki. To, o co prosisz o proste, nie jest możliwe dzięki standardowym mechanizmom.Jednak nie jesteś bez opcji. Nie jestem pewien, jak dobrze znasz SSH, ale możesz tunelować porty z powrotem przez połączenie, abyś mógł normalnie się połączyć, uruchomić prosty serwer FTP jako root i tunelować to wszystko z powrotem do komputera przez SSH. Brzmi okropnie, ale jest dość prosty.
Na serwerze uruchom:
Następnie na komputerze uruchom krótkie polecenie SSH:
Następnie w Nautilus (na komputerze) połącz się z
ftp://localhost:2121
. Magia SSH przekieruje to na serwer FTP działający jako root.Istnieją inne protokoły (szukałem lepszego), ale FTP jest najłatwiejszy do uruchomienia i uruchomienia, w dużej mierze dzięki
pyftpdlib
. Możesz zrobić podobne rzeczy z webdavem i innymi, jestem pewien ... To byłoby o wiele więcej hackowania.źródło
/usr/bin/python: No module named pyftpdlib.__main__; 'pyftpdlib' is a package and cannot be directly executed
podczas uwierzytelniania na serwerze.sudo python -m pyftpdlib.ftpserver ...
pyftpdlib.ftpserver module is deprecated
Oto, co dostajesz, kiedy używasz apt-get (przynajmniej 14.04). W każdym razie musisz wybrać sposóbCzy próbowałeś WinSCP? Możesz pobrać przenośny plik wykonywalny z ich strony internetowej i uruchomić go za pomocą WINE.
sudo apt-get install wine
wine WinSCP.exe
sudo su -
Możliwe jest również przeciąganie i upuszczanie z Nautilus.
źródło
Uruchom nautilus z terminala za pomocą
gksudo nautilus
.Pamiętaj, że narzędzia GUI działające z uprawnieniami administratora nie są dobrą polityką.
źródło
To może nie być najlepszy sposób, ale tylko myśl, że jeśli twój zdalny serwer ma włączoną X11, możesz po prostu wstępnie wydać polecenie
Ale @Oli to zapewniło, nie możesz używać serwera SFTP w OpenSSH
Również nie jest to zbyt zły pomysł, ale jeśli pozwolisz także sshuserowi na dostęp tylko do odczytu potrzebnych plików, problem zostanie rozwiązany.
źródło
Nie jestem pewien, czy odpowiadam poprawnie, ale może mogę trochę pomóc.
ssh na twój serwer za pomocą
ssh -XC user@address
Tag -XC przeskoczy okno do twojego komputera, gdy coś zostanie otwarte.
Następnie spróbuj,
sudo nautilus
a następnie nautilus twojego serwera otworzy się na twoim lokalnym ekranie.źródło