#はじめに
今回の記事の主旨をまとめておきます。
・wsl2上にUbuntu環境を構築している。
・Windowsの標準ターミナルではログの取り方がめんどくさい。
・使い慣れたTeraTermからログインして、自動でログ取得できるようにしたい。
という経緯から、いろいろ設定を入れてみました。
#環境
以前18.04を導入した記事を書いていますが、今回は同様の手順で20.04をインストールした環境で行います。
WSL上にUbuntu18.04を構築してみた
※systemdの変更はしていません。init.dで作業しています。
#設定手順
以下の要領で設定していきます。
- UbuntuでのSSHの設定
- TeraTermのダウンロード
- ログ自動取得設定
では、作業開始です。
##SSHの設定
まずは、Ubuntu側のSSH設定を行います。
現時点では標準ターミナルからログインし操作します。
openssh-serverをインストールします。
$ sudo -E apt update
$ sudo -E apt upgrade ← 必要に応じて..
$ sudo -E apt install openssh-server
SSH鍵の作成を行います。
$ sudo ssh-keygen -A
/etc/ssh/sshd_configの設定を変更し、パスワード認証の許可を行います。
vi等で/etc/ssh/sshd_configを開き、以下の設定を変更します。
Port 10022 # sshd を 22番以外のポートで立ち上げたい場合(今回は変更していません)
PasswordAuthentication yes # パスワード認証を許可したい場合
SSHを再起動します。
$ sudo /etc/init.d/ssh status
以下が表示されればOK
active (running)
$ sudo /etc/init.d/ssh restart
以下が表示されればOK
[ ok ] Restarting ssh (via systemctl): ssh.service.
※SSH起動がうまくいかない場合はwsl2を再起動してみてください。再起動時は特に意識せず、標準ターミナルから接続すればOKです。
wsl.exe -t Ubuntu-20.04
##TeraTermのダウンロード
次に、TeraTermのダウンロードを行います。
こちらからダウンロードしてください。(https://ja.osdn.net/projects/ttssh2/releases/)
インストール設定はご自身に合わせてカスタムしてください。(基本的にはデフォルトで問題ないです。)
##SSH接続してみる
Teratermを起動します。起動後に以下のように設定します。(ホスト名はlocalhostで良いです。)
ホスト:接続先ホストのアドレス(ドメイン名もしくはIPアドレス)
サービス:SSH
TCPポート:22
バージョン:SSH2
初めての接続の際は認証許可画面が出るので、「続行」をクリック。
その後、Ubuntuで設定したユーザーとパスワードを入力しプロンプトが表示されれば接続完了です。
##ログの自動保存設定
TeraTermでログの自動保存設定を行います。
- 上部メニューから、「設定(S)」を選択します。
- 「その他の設定(D)」を選択します。
- 「ログ」タブを選択します。
- 「自動的にログ採取を開始する(U)」にチェックを入れる
- ログの保存先、ログファイル名を入力する。ログファイルは「%Y%m%d_%H%M%S_&h.log」とすると「年月日_時分秒_ホスト名.log」となります。
- オプションは適宜設定してください。個人的には「追記(A)」、「プレーンテキスト(P)」、「タイムスタンプ(T)」を設定しています。
- 設定が終われば「OK」をクリックします。
※この時点では次回以降再設定が必要になるので注意してください。
- 再度上部メニューから、「設定(S)」を選択します。
- 「設定の保存(S)」をクリックします。
- TeraTermの保存フォルダに保存します。(例)C:\Program Files (x86)\teraterm
- TeraTermを開きなおして、ログが保存されていることを確認する。
以上で設定完了です。この他、表示設定なども同様の手順でカスタムできますので、ご自身に合った設定を見つけてください。
#最後に
これでやりたいことはできました。
標準のターミナルでログが簡単に取れれば良いのですが、ちょっと手間をかけてSSHの設定を触る機会にもなり、使い慣れたTeraTermに移行するタイミングが生まれたので個人的には良かったです。
ぜひ参考にしていただければうれしいです。
ちなみに、wsl2は起動するたびにIPが変わってしまうので、IPでの接続をするためにはちょっとした工夫が必要です。
こちらが参考になるかと思いますが、普段使いであればlocalhostで十分かと思います。(https://kemasoft.net/?vm/wsl2%A4%CB%B8%C7%C4%EAIP%A4%C7ssh-server)
#追記
次回以降sshを都度起動する必要があったので、ローカルからbatファイルでssh起動できればと思っていたところ、
自動でsshdを起動する方法を掲載されている方がいらっしゃったので、参考にさせていただきました。@nashi2603さんありがとうございます!
Windows10のWSL上にあるServiceを簡単に自動起動させる