概要

Emacsでsshでリモートのファイルが編集できるらしいと知って挑戦してみた。

環境

  • OS windows10
  • Emacs GNU Emacs 25.1.1 (x86_64-w64-mingw32) of 2016-10-03
  • plink (Gowのもの) Gowについてwiki

必要なもの

plink

ここがポイント

win10 + Emacs + tramp + plinkで接続する時
ファイルオープンは

/plink:ユーザー名@ホスト名#ポート番号:ファイルのパス


になる。ネットには/ssh:で始まる情報が多くそのため最初混乱した。

手順

plinkを試してみる

Windowsでsshなどの接続をするプログラムはどうやらplinkというものを使うらしい。
検索するとplinkのインストール方法はたくさんあった。
自分の環境にはGowがインストールしてあり、pathも通してあるので

which plink

としたら

C:\Gow\bin\plink.exe

と表示された。

まずはplinkでsshできるか試してみた。

標準のコマンドプロンプトで

>plink ホスト名 -P ポート番号 -i 秘密鍵のpath

を入力すると、ユーザー名とパスワードを聞いてきた。
入力するとSSHでログインできた。sudoも普通に出来た。

plinkでsshログインできることを確認した。

Emacs init.elにtrampの設定

(require 'tramp)
(setenv "PATH" (concat "C:\\Gow\\bin" ";" (getenv "PATH")))
(setq-default tramp-default-method "plink")

を記述した。

Emacsからsshするための書き方

C + X f でファイルオープン

/plink:ユーザー名@ホスト名#ポート番号:ファイルのパス

を入力するとパスワードを聞いてきた。
入力すると無事ファイル一覧が表示された。

sudoの場合は

/plink:ユーザー名@ホスト名#ポート番号|sudo:ホスト名:ファイルのパス

で同じようにできた。

これで、Emacsからリモートのファイルを閲覧・編集できるようになった。
次はリモートのコマンドを実行できかを調べてみたい。

なんにせよとても便利だ。

sudo出来た時、感動を覚えた。

エディタで感動できたこと、一生忘れないよ。

参考外部リンク

このページのおかげです。

Emacs Tramp Mode使い方(port指定+sudo権限)