■ Linux の Emacs で利用できる設定


【お知らせ】


<2017/11/05 追記>
Windows 10 1709 の WSL 用に次のとおりの見直しを行いました。
  • sudo ssh-keygen -A の設定が必要のようなので追記した。
  • sshd は UsePrivilegeSeparation が 初期値の yes でも動作するようです。

【本題】


VirtualBox 上の Ubuntu から Windows Subsystem for Linux(WSL)を経由して Windows 環境にアクセスするための設定(戦略1)です。

戦略の説明は、次のページを参照ください。

1) 「WSL で cygstart 的コマンドを使うための設定」を行い、wslstart が動作するようにする。

※ お好みにより、sglstart を使うことも可能です。

2) WSL に openssh-server をインストールする。
$ sudo apt update
$ sudo apt upgrade ← 必要に応じて..
$ sudo apt install openssh-server
$ sudo ssh-keygen -A

3) /etc/ssh/sshd_config の設定を次のとおりに修正する。
Port 10022
PasswordAuthentication yes
※ Port 22番は Windows の sshd サービスで利用している場合があるようですので、任意の空 Port 番号を設定してください。(上記では 10022 番に設定)
※ PasswordAuthentication は、以降の設定で公開鍵認証によるログインが可能となった後は、no とすることをお勧めします。

4) sshd を立ち上げる。
$ sudo service ssh start
※ ワーニングが出ますが、問題ないようです。
※ この起動は、WSL で sshd を利用する都度行う必要があります。(一度 sshd を立ち上げれば、ターミナルを終了しても sshd は有効となっているようです。)
  sshd の常駐化は次のページが参考となりそうです。

5) 次のページを参考にして Emacs on Ubuntu on VirtualBox の環境を構築する。

6) VirtualBox の Ubuntu の ~/.ssh/config に次の内容の設定を行う。
Host wsl
     HostName <Windows の IPアドレス>
     Port     10022
     User     <WSL のユーザID>

7) ssh-keygen を使って、秘密鍵、公開鍵を作成する。

※ パスフレーズの指定は行ってください。

8) 作成した公開鍵を WSL にインストールする。
$ ssh-copy-id -i ~/.ssh/id_rsa.pub wsl

9) VirtualBox の Ubuntu から WSL に対し、公開鍵認証を使って ssh 接続できることを確認する。
$ ssh wsl

10) VirtualBox の Ubuntu の Emacs に次のページの 12) の設定を行い、設定を評価する。(Emacs の再起動でも構いません。)

※ 次のページの設定もお勧めです。

11) VirtualBox の Ubuntu の Emacs の dired で WSL に接続する。
C-x d /scp:wsl:/mnt/c/

12) ファイルやディレクトリの上で、 W や E を押下することで、そのファイルやディレクトリが Windows で開くことを確認する。

13) shell の起動を容易にするために、次の設定を行う。(オプションです。shell-pop と同様なものですが、tramp 接続先でも利用できるようになっています。)


<変更履歴>
  • 2016/09/30 このページを作成した。


最終更新:2020年07月14日 18:40