私はvimを使用してリモートファイルを編集する方法を説明するこの質問を見つけました:
vim scp://user@myserver[:port]//path/to/file.txt
sudo
リモートホストで(を介して)rootとしてこれを行うことはできますか?
リモートホストでroot権限を持つファイルを作成し、上記で編集してみました。Vimはコンテンツを表示、編集、保存できますが、リモートホストでは何も変更されません(おそらくvimが一時ファイルを保存し、それをscpに戻して戻すためでしょうか?)
ユーザーが保存したファイルを使用してこれを行うと、期待どおりに動作します。
SSHはキーを使用して認証し、リモートサーバーはsudoアクセス用にNOPASSWDを持っています
この質問は似ていますが、投票での唯一の回答は人形を使用しています。
編集:以下の@drewbennのコメントに応じて、編集のための私の完全なプロセスを以下に示します。
vim scp://nagios//tmp/notouch
/tmp/notouch
rootが所有するファイルはどこですか、vimがすぐに表示されます
:!scp -q 'nagios:/tmp/notouch' '/tmp/vaHhwTl/0'
これは自動的に消え、テキストを含む空の黒い画面が表示されます
"/tmp/vaHhwTl/0" 1L, 12C
Press ENTER or type command to continue
Enterキーを押すと、ファイルを編集できます
保存すると、最初と同じ種類のscpコマンドがポップアップ表示され、すばやく自動的に削除されます(時間内に読み取ることは困難ですが、scpおよび/ tmp / ...ファイルは確実に存在します)。
.vimrc
ファイルのためにローカルバージョンのvimを使用したい
ssh -t host sudo vim file
?
ssh
サーバーに行き、そこでファイルを編集します(visudo
、またはその他)。それ以外のものはセキュリティに影響を与えます。