Znalazłem to pytanie, które wyjaśnia, jak edytować plik zdalny za pomocą vima przy użyciu:
vim scp://user@myserver[:port]//path/to/file.txt
Czy można to zrobić jako root (via sudo
) na zdalnym hoście?
Próbowałem utworzyć plik z uprawnieniami administratora na zdalnym hoście i edytować go za pomocą powyższego. Vim widzi zawartość, może ją edytować i może ją zapisać, ale nic się nie zmienia na zdalnym hoście (prawdopodobnie dlatego, że vim zapisuje tylko swój plik tymczasowy, a następnie przekazuje go SCP, aby odłożyć?)
Robiąc to z plikiem zapisanym przez mojego użytkownika, działa on zgodnie z oczekiwaniami.
Mój SSH używa klucza do uwierzytelnienia, a serwer zdalny ma NOPASSWD dla mojego dostępu sudo
To pytanie jest podobne, ale jedyną odpowiedzią głosującą jest marionetka, która zdecydowanie nie jest tym, czego chcę użyć.
Edycja: W odpowiedzi na komentarz @ drewbenn poniżej, oto mój pełny proces edycji:
vim scp://nagios//tmp/notouch
Gdzie /tmp/notouch
jest plik należący do roota, widzę, że vim szybko pokazuje
:!scp -q 'nagios:/tmp/notouch' '/tmp/vaHhwTl/0'
Znika to automatycznie, dając pusty czarny ekran z tekstem
"/tmp/vaHhwTl/0" 1L, 12C
Press ENTER or type command to continue
Naciśnięcie Enter pozwala mi edytować plik
Zapisywanie wyskakuje z tym samym rodzajem polecenia scp co na początku, który szybko i automatycznie znika (trudno jest odczytać go na czas, ale pliki scp i / tmp / ... są zdecydowanie dostępne)
.vimrc
pliku
ssh -t host sudo vim file
?
ssh
na serwer i edytuj tam plik (za pomocąvisudo
lub cokolwiek innego). Wszystko inne ma wpływ na bezpieczeństwo.