138

この記事は最終更新日から3年以上が経過しています。

投稿日

更新日

Windows Subsystem for Linuxにssh接続する

はじめに

  • Windows Subsystem for Linux(WSL)のターミナルは、コピー&ペーストがし辛く、Tera-termで操作できないものかと思い立った。

前提

  • Windows 10 pro バージョン1803
  • Windows Subsystem for Linux(WSL)版ubuntu バージョン8.04 LTS (Bionic Beaver)

全体の流れ

  1. インストール
  2. コンフィグ設定
  3. サービススタート
  4. 対策
  5. 補足

インストール

  • まず、openssh-serverをインストールする。
sudo apt install openssh-server
  • 結果は以下の通り。
  • 御免なさい。既に入っていました。確認してからコマンド打つのが正しいですよね。
Reading package lists... Done
Building dependency tree
Reading state information... Done
openssh-server is already the newest version (1:7.6p1-4).
The following packages were automatically installed and are no longer required:
  gyp javascript-common libc-ares2 libhttp-parser2.7.1 libjs-async libjs-inherits libjs-jquery libjs-node-uuid libjs-underscore libpython-stdlib
  libpython2.7-minimal libpython2.7-stdlib libssl-dev libssl-doc libuv1 libuv1-dev nodejs-doc python python-minimal python-pkg-resources python2.7
  python2.7-minimal
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.

コンフィグ設定

  • パスワードでのログインを有効にしておく。
vi /etc/ssh/sshd_config
  • コンフィグの内容を下記のように変える。
PasswordAuthentication yes

サービススタート

  • これで動くはず。
sudo service ssh restart
  • 駄目だった。以下のようなメッセージが出る。
  • RSAキーがないとな。
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key
 * Restarting OpenBSD Secure Shell server sshd
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key

対策

  • よろしい手動作成だ。
sudo ssh-keygen -A
  • 以下のように出力されてキーが出来る。
ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519
  • 再度、sshサービスを起動する。
sudo service ssh restart
  • 以下のように表示されて無事起動。
 * Restarting OpenBSD Secure Shell server sshd            [ OK ]
  • あとは、localhostでも、Windows機のIPアドレス指定でもばっちりteratermで接続できた。

補足

  • sudo ssh-keygen -Aは一度打てばよい
  • Windows機を再起動した場合、サービスが停止した状態から始まる
  • 重要なことにsudo systemctl enableは効かないので、毎回、WIndows機起動時にはサービスを手動でスタートする必要がある
  • このとき、sshdも立ち上がってないので、TeraTermは使えないので、簡単にサービスを起動できるシェルを作っておく
~/service_start.sh
#!/bin/bash

service ssh start
service dbus start
service avahi-daemon start
service cron start
  • 実行権限も忘れずに
chmod a+x service_start.sh
  • これで、準備は完了。使い勝手が好みではない、標準ターミナルでも簡単にサービスを起動できる
  • WSLの標準ターミナルを起動したら、以下を打てばよ
sudo ~/service_start.sh
  • Enjoy WSL!

新規登録して、もっと便利にQiitaを使ってみよう

  1. あなたにマッチした記事をお届けします
  2. 便利な情報をあとで効率的に読み返せます
ログインすると使える機能について

コメント

この記事にコメントはありません。
あなたもコメントしてみませんか :)
新規登録
すでにアカウントを持っている方はログイン
138