多段ssh接続が必要なサーバ上のファイルをvimで直接編集する方法
小粋空間 » Linux » 多段ssh接続が必要なサーバ上のファイルをvimで直接編集する方法
多段ssh接続が必要なサーバ上のファイルをvimで直接編集する方法を紹介します。
1.問題点
リモートサーバ上にファイル(test.txt)があります。
ここでは「SSHポートフォワーディング(トンネリング)とは」のウェブサーバ(10.10.10.123)上にあるものとします。
このファイルをクライアントサーバから編集する場合、
# ssh 10.10.10.10
# ssh 10.10.10.123
# vi test.txt
とします。
が、クライアントサーバからウェブサーバのファイルを直接編集する方法が分かりません。
ということで、多段ssh接続が必要なサーバ上のファイルをvimで直接編集する方法を紹介します。
2.多段ssh接続が必要なサーバ上のファイルをvimで直接編集する
多段ssh接続が必要なサーバ上のファイルをvimで直接編集するには、まず、1つめの画面でポートフォワーディングを実施します。
# ssh -N -L 10000:10.10.10.123:22 10.10.10.10
ここまでは通常のsshポートフォワーディングと同じです。なお、ポート番号はsshの「22」を指定しておきます。
そして、2つめの画面でvimを起動します。
# vim scp://root@localhost:10000//home/foo/test.txt
これで、多段ssh接続が必要なサーバ上のファイルのvim画面が開きます。
3.解説
vimは次のように指定することで、リモートサーバのファイルを編集することができます。
# vim scp://<ユーザ>@<リモートサーバのIPアドレス>//<編集対象ファイル>
今回は、この「リモートサーバのIPアドレス」にsshポートフォワーディング情報「localhost:10000」を与えます。
# vim scp://<ユーザ>@localhost:10000//<編集対象ファイル>
この設定により、多段ssh接続せずにvimの起動が行えます。
4.参考サイト
参考サイトは下記です。ありがとうございました。