私はさまざまなLinuxおよびUNIX環境で働いています。
SSH経由でリモート構成ファイルを編集する問題をエレガントに解決したいと思います。ターミナルエディター(nano)を使用する代わりに、デスクトップのローカルテキストエディター(Sublime Text 2)でファイルを開きたいのですが。
CyberDuck、WinSCP、およびその他のさまざまなSFTPアプリがこれを実行できます。
X11転送でエディターを使用することも問題があることが証明されています。また、VimやEmacsのような古風なテキストエディタを使用しても、私のニーズには十分に応えられません。彼らはこれを行うことができましたが、私は他のテキスト編集ソフトウェアを使用することを好みます。
Sshマウント(Fuse)の使用も、要求に応じてリモートサイトによってトリガーされない限り、問題があります。
だから私が達成したいこと
リモートサーバーにコピーできる、簡単にデプロイできるシェルスクリプトなどがあります(これをmooeditと呼びましょう)。
SSH接続で接続したリモートサーバーでmooeditコマンドを実行します
mooeditある種のシグナルを(SSH経由で(私のローカルデスクトップに)送信します
私のローカルデスクトップでは、この信号がキャプチャされ、 'a ha! mooは、サーバーXのフォルダーY 'にあるファイルを編集したいと考えています。
ファイルはローカルデスクトップ(/ tmp)にSFTP転送されます
ファイルはローカルデスクトップのNiceGUIテキストエディタで開かれます
[保存]を押すと、ローカルデスクトップはファイルの変更を認識し、SFTPは結果のファイルをサーバーに送り返します
質問は:
SSHがこれに提供するシグナリングメカニズムは何ですか?
リモートSSHファイルのローカルテキストエディタをトリガーする他の方法はありますか?
rsub および rmate を使用して、sshを介してローカルのSublimeText内のリモートファイルを編集できます。
必要がある
rsub
パッケージをSublimeTextにインストールします(パッケージマネージャーを使用)ssh経由でポート52698を転送するか、ssh -R 52698:localhost:52698 ...
を使用するか、構成を設定します
~/.ssh/config
およびchmod 600 ~/.ssh/config
を作成/編集します(権限の問題を回避するため)*
を使用することもできます):Host SERVERNAME
RemoteForward 52698 127.0.0.1:52698
ssh
でサーバーに接続しますrsub
スクリプトをインストールします。Sudo wget -O /usr/local/bin/rsub https://raw.github.com/aurora/rmate/master/rmate
Sudo chmod +x /usr/local/bin/rsub
次に、sshセッションでrsub file
を実行すると、ローカルのSTエディターでfile
が開きます。
ST2/ST3で動作し、Sudo rsub file
もできます!
これは古い質問ですが、まだ明確な答えはありません。ただし、どのデスクトップ環境からfromを編集するかについては言及していません。 )?ある時点で、WinSCPについて言及しました。明らかにWindowsですが、CyberduckはMacプログラムです。
Macで作業していると仮定します。由緒あるBBEditは、Sublimeほど「セクシー」ではなく、その前のTextMateには、他の編集者にはないいくつかの機能があります。
プログラム内から、sshサーバーやftpサーバーとの間で直接ファイルを開いたり書き込んだりするようなものです。この機能は、13年前のバージョン5かそこらから使用しています。複数の生涯前、そして「現代の」エディターではまだ利用できません。
http://www.barebones.com/products/bbedit/ (いかなる形でも提携しておらず、1993年以来幸せなユーザーです