web-dev-qa-db-ja.com

SSHを介したサーバー上のファイルの編集

私はWebアプリケーションで作業しており、そのファイルはすべてLinuxサーバー上にあり、SSH経由でアクセスしています。 SSHを介してvimまたはnano以外のテキストエディターでこれらのファイルを編集する方法はありますか?このプロジェクト(フロントエンド、DB管理など)で作業しなければならない私たちのチーム全体があり、作業を好むためですサーバー上にある間。 Sublime TextまたはAtomのラインに沿って、テキストエディターでSSHを介してファイルを編集することについて話しています。

6
Reaper9806

サーバーにsshし、次のコマンドを実行してatomをインストールします。

Sudo apt-get update
Sudo apt-get install gdebi xauth
wget https://atom.io/download/deb
mv deb atom.deb
Sudo gdebi atom.deb
rm atom.deb

インストール後、sshセッションを終了します。

次に、次のように-Xオプションを使用して、ssh経由でxsessionを転送できます。

ssh -X username@serverip atom

もちろんusernameserveripを実際のユーザー名と実際のサーバーIPに置き換えます。

関連する投稿は次のとおりです。

how-to-view-graphical-view-of-application-using-ssh

how-to-forward-x-over-ssh-from-ubuntu-machine

また、こちらは 関連記事 です

3
mchid

すでにそのリモートホストにSSH接続できる場合は、ローカルのUbuntuマシンに問題があります

Sudo apt-get install sshfs

mkdir ~/local_mountpointdir  # create empty local live mirror of remote dir

sshfs remoteuserid@remotehost:/path/remote_dir  ~/local_mountpointdir

新しいローカルライブミラーディレクトリで見つかった同じファイル名を編集することにより、ローカルエディターを使用して、そのリモートディレクトリ/path/remote_dirにある任意のファイルのライブ編集を自由に行うことができます。

cd  ~/local_mountpointdir
ls -la   # you will see all files listed which live on remote Host

今すぐ~/local_mountpointdirのファイルを編集して、すべての編集をリモートホストディレクトリまでリアルタイムで自動同期します...完了したら、sshfsを実行しているローカルボックスpidを強制終了します。 ~/local_mountpointdirの内容がリモートホスト上で安全であることを知っている

3
Scott Stensland

Emacsも使用できます。幅広い機能とNoXモードを備えています

emacs -nw <filename>

問題はまだありますが、どの機能を探していますか?

2
Jim Knopf

gEditはあなたが望むことをすることができます。 Nautilusを介してリモートサーバーに接続するようにシステムを設定できます(ファイル、サーバーへの接続)。その後、gEditの左ペイン(F9)を使用してこのリモートサーバーを参照し、編集を開始できます。

そのようなことには Aptana を使用します。接続を作成し、ディレクトリをポイントし、すべてのファイルを一覧表示して編集できるようにする「リモートftp」メソッドがあります。 html、js、およびその他のコーディング言語の場合、AptanaのようなIDEにはコード形式があります。ああ、vimをそれほど簡単に破棄しないでください;)Eclipse、Bluefish、Anjuta、Geanyは他のEDIですが、リモートアクセスのすべてをチェックしませんでした;)

ただし、サーバー側で編集できるようにするファイルのアクセス許可を変更する必要がある場合があります。

1
Rinzwind

sshセッションを-Xオプションで開始すると、インストールされている任意のエディターman -k editor | lessを使用して、システムの内容を確認できます。 -Xオプションは、X11転送を設定します。 man sshを参照してください。

「Sublime Text or Atom」のどの機能をお探しですか?

0
waltinator

SSH経由でGUIアプリを転送することについて、数人の人が言ったことに同意します。私が実行するいくつかのことでそれをする傾向がありますIBM TSMサーバー。あなたが言及したエディターを使用したことはありませんが、SSHを使用したい場合は、Xを介してそれを転送する方法が良いと思います。

0
sark

あなたが言っていることがわかります。 Vimは非常に強力なツールですが、その使用方法を「だれも」ほとんど知りません。

私は実際、mcedit(mcにパッケージ化されたエディター-Midnight Commander)を好みます。これはとにかくSSH接続用にインストールする傾向があります。

グラフィカルエディターを使用する場合は、Xサーバーをインストールして、他の回答が示唆するように、SSHを介してGUIを共有できます。しかし、IMOは過剰であり、サーバー上に余分なものがたくさんあります。作業対象のページを含むフォルダーを共有することをお勧めします。できれば追加インストールが最も少ないのでNFSを使用するか、WebDAVがサーバーがすでにWebサービングデーモンを実行していることを確認してください。クライアントコンピューターでWindowsを実行している場合は、代わりにsambaが必要になりますが、ローカルLANの外部でSambaが共有しないようにしてください。[sarcasm = on]これは最も安全なことではありません[/ sarcasm]。

サーバー上のすべてのフォルダーへのフルアクセスが必要な場合は、SSH接続を介したSFTPをお勧めします。また、すでにSSHを起動して実行しているため、サーバー上にも既に存在します。サーバーに追加インストールを行う必要はありません。すべてのLinuxで少なくともネイティブにSFTPをネットワーク「ドライブ」としてマウントすることも可能です(1つの答えがsshfsで示唆しているように)。 Windowsの場合、Swishのようなもの(またはDokan SSHFS)がインストールされている必要があります。

ただし、Webサーバー上のコンテンツについては、何らかの形式のCMS(特に、複数の人が編集する場合)を確認することをお勧めします。ベストは、実際にはバージョン管理システム、おそらくGitまたはSVNです。 Webサーバーにインストールするのはかなり簡単なはずです。

0
irneb