はじめに

昨日, 職場で vi しかインストールされていないという, ぼくたち Emacs ユーザにとっては恐怖にみちた Linux マシンをつかった.

もちろん, vi コマンドなんて覚える気はないので, 全くなにもできない.

そこで, Windows から Emacs の tramp 機能を利用して, Linux マシンへ ssh 接続する方法を調べた.

Environment

環境は, AWS から Ubuntu を借りて利用する.

  • Windows 8.1 (Client)
  • Ubuntu 14.0 (Server)

Cygwin をつかう

cygwin 上で動く Emacs から tramp を利用する方法は簡単. C-x C-f のあとに以下を入力.

/ssh:(ユーザ名)@(ホスト名):

:を押すと, パスワードがきかれるので答える.

AWS へ乗り込む

AWS は公開鍵を利用して, アクセスする必要がある. tramp には, 公開鍵を指定する方法がない.

そこで, .ssh/config に設定を書くことで, alias を作成する.

以下を参考に, .ssh/config に設定を追記.

Host remote_box_alias
    HostName ip_or_address_of_remote
    User username
    IdentityFile path_to_pem_file

あとは, alias 名を打てば良い

/ssh:remote_box_alias:

GUI 版 Emacs を利用する

なんと, ssh がつかえない. かわりに plink という外部ツールを利用する.

以下から, Putty のインストーラを落としてきて, putty をインストールする と, 付随で plink がついてくる.

plink.exe があるフォルダに, 環境変数 PATH を通す.

Emacs を起動して, C-x C-f 後, 以下を入力.

/plink:(ユーザ名)@(ホスト名):

ssh から plink に変更している.

AWS へ乗り込む

putty の機能を使って, session を保存する. 保存の仕方は, 以下のサイトを参照. .pem ファイルは, putty 形式の鍵に変換が必要なところに注意.

作成した, session 名を指定して接続する.

/plink:(alias 名)

おわりに

これで, すべてが Emacs.