web-dev-qa-db-ja.com

ローカルテキストエディタを使用してSSH経由でテキストファイルを編集

私はさまざまなLinuxおよびUNIX環境で働いています。

SSH経由でリモート構成ファイルを編集する問題をエレガントに解決したいと思います。ターミナルエディター(nano)を使用する代わりに、デスクトップのローカルテキストエディター(Sublime Text 2)でファイルを開きたいのですが。

Cyber​​Duck、WinSCP、およびその他のさまざまなSFTPアプリがこれを実行できます。

X11転送でエディターを使用することも問題があることが証明されています。また、VimやEmacsのような古風なテキストエディタを使用しても、私のニーズには十分に応えられません。彼らはこれを行うことができましたが、私は他のテキスト編集ソフトウェアを使用することを好みます。

Sshマウント(Fuse)の使用も、要求に応じてリモートサイトによってトリガーされない限り、問題があります。

だから私が達成したいこと

  • リモートサーバーにコピーできる、簡単にデプロイできるシェルスクリプトなどがあります(これをmooeditと呼びましょう)。

  • SSH接続で接続したリモートサーバーでmooeditコマンドを実行します

  • mooeditある種のシグナルを(SSH経由で(私のローカルデスクトップに)送信します

  • 私のローカルデスクトップでは、この信号がキャプチャされ、 'a ha! mooは、サーバーXのフォルダーY 'にあるファイルを編集したいと考えています。

  • ファイルはローカルデスクトップ(/ tmp)にSFTP転送されます

  • ファイルはローカルデスクトップのNiceGUIテキストエディタで開かれます

  • [保存]を押すと、ローカルデスクトップはファイルの変更を認識し、SFTPは結果のファイルをサーバーに送り返します

質問は:

  • SSHがこれに提供するシグナリングメカニズムは何ですか?

  • リモートSSHファイルのローカルテキストエディタをトリガーする他の方法はありますか?

9
Mikko Ohtamaa

rsub および rmate を使用して、sshを介してローカルのSublimeText内のリモートファイルを編集できます。

必要がある

  • rsubパッケージをSublimeTextにインストールします(パッケージマネージャーを使用)
  • ssh経由でポート52698を転送するか、ssh -R 52698:localhost:52698 ...を使用するか、構成を設定します

    • ~/.ssh/configおよびchmod 600 ~/.ssh/configを作成/編集します(権限の問題を回避するため)
    • 追加(SERVERNAMEをサーバーに置き換えます。*を使用することもできます):

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もできます!

5
laktak

これは古い質問ですが、まだ明確な答えはありません。ただし、どのデスクトップ環境からfromを編集するかについては言及していません。 )?ある時点で、WinSCPについて言及しました。明らかにWindowsですが、Cyber​​duckはMacプログラムです。

Macで作業していると仮定します。由緒あるBBEditは、Sublimeほど「セクシー」ではなく、その前のTextMateには、他の編集者にはないいくつかの機能があります。

プログラム内から、sshサーバーやftpサーバーとの間で直接ファイルを開いたり書き込んだりするようなものです。この機能は、13年前のバージョン5かそこらから使用しています。複数の生涯前、そして「現代の」エディターではまだ利用できません。

http://www.barebones.com/products/bbedit/ (いかなる形でも提携しておらず、1993年以来幸せなユーザーです

1
axello

リモート構成ファイルの編集の問題をエレガントに解決したい…リモート用のローカルテキストエディタをトリガーする他の方法 SSH ファイル?

webmin のようなものを使用してください。 既存のモジュール または 作成 のいずれかです。


更新:

テキストエリアにテキストファイルを表示するHTTPSページを(バックエンドスクリプトを介して)Apacheに提供させ、( すべてのテキスト を使用してローカルテキストエディタを起動することができます。これには明らかにいくつかの必要があります。セキュリティに関する注意。

0
RedGrittyBrick