はじめに
タイトル通り、WSL2にTeratermでSSH接続します。
使い慣れているターミナルエミュレータで接続したいんです。
仕事では普通に使っているんですが、最初に設定するともう忘れていたので、思い出しつつ自宅PCへ設定してみます。
前提
Ubuntuの入れ方は、下記の記事で書きました。
やり方
sshdの確認とインストール
まずはUbuntu側でSSHを許可しなくてはなりません。
しかしsshdがたぶん入っていない、起動していない状態だと思われます。
起動の確認は下記のコマンドで可能です。
結果は何も返ってこないことを想定しています。
ps -ef | grep ssh | grep -v grep
コマンドの説明ですが…
起動しているプロセスを表示するんですが、その中からssh
だけを抽出しようとしています。
最後のgrep
はgrep
コマンド自身を除くものです。
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接続
自ホストへの接続になるので、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にて環境構築する際に、改めて振り返ってみた次第です。
どなたかのお役に立てば幸いです。
以上でした!