■ 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)です。
戦略の説明は、次のページを参照ください。
※ お好みにより、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 接続先でも利用できるようになっています。)
<変更履歴>
最終更新:2020年07月14日 18:40