HRR Co., Ltd.

技術的な記録を残していくことを目的としています。1次情報を大事にしています。

WSL2にTeratermでSSH接続する

はじめに

タイトル通り、WSL2にTeratermSSH接続します。
使い慣れているターミナルエミュレータで接続したいんです。

仕事では普通に使っているんですが、最初に設定するともう忘れていたので、思い出しつつ自宅PCへ設定してみます。

前提

  • Ubuntu 20.04.4 LTS がインストール済み
  • Teratermもインストール済み

Ubuntuの入れ方は、下記の記事で書きました。

hrroct.hatenablog.com

やり方

sshdの確認とインストール

まずはUbuntu側でSSHを許可しなくてはなりません。
しかしsshdがたぶん入っていない、起動していない状態だと思われます。

起動の確認は下記のコマンドで可能です。
結果は何も返ってこないことを想定しています。

ps -ef | grep ssh | grep -v grep

コマンドの説明ですが…
起動しているプロセスを表示するんですが、その中からsshだけを抽出しようとしています。
最後のgrepgrepコマンド自身を除くものです。

sshdを探してみます。

$ sudo apt search sshd
Sorting... Done
Full Text Search... Done
openssh-server/jammy-updates 1:8.9p1-3ubuntu0.1 amd64
  secure shell (SSH) server, for secure access from remote machines

openssh-serverという名前で見つかったので、これをインストールします。

sudo apt install openssh-server

次に、sshdの設定を修正します。
設定ファイルは/etc/ssh/sshd_configこちらにあります。

sudo sed -i -e 's/^PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config

最初はパスワードによるアクセスが許可されていないので、これを有効にします。
できたら、最後にsshdを起動します。

$ sudo service ssh start
 * Starting OpenBSD Secure Shell server sshd                                                                     [ OK ]
$ ps -ef | grep ssh | grep -v grep
root       484    58  0 23:11 ?        00:00:00 sshd: /usr/sbin/sshd [listener] 0 of 10-100 startups

起動の確認もしましたが、きちんと起動されてますね。

Teraterm側からのssh接続

Teratermを起動

自ホストへの接続になるので、127.0.0.1を指定して、「SSH」が選択されていることを確認の上、「OK」ボタンを押下します。

接続情報を求められる

ユーザ名とパスフレーズを求められますので、ご自分で設定されたものを入力後、「OK」ボタンを押下します。

接続後画面

接続情報が合っていれば、画面のようにUbuntu側へ入れることと思います。

次回以降の接続について

PCを落とすとsshdは立ち上がっていないわけで、毎回これをやるのは手間、ということで…。
私の場合はWindowsのバッチファイルを作成して、それで自動で起動させています。

やり方

@echo off
wsl -u root -- service ssh start

こんな内容をメモ帳などのテキストエディタに記載して、wsl-ssh.batという名前で保存します。
(拡張子が.batなら名前はなんでもいいです)

保存先はスタートアップフォルダ、パスは下記のとおりです。
(Windows10の場合。11の場合は…わかったら記載します)

C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

終わりに

一度設定してしまうと、以後は意識せずに使えてしまうので、新しいPCにて環境構築する際に、改めて振り返ってみた次第です。
どなたかのお役に立てば幸いです。

以上でした!