WSL:【Teraterm接続】する方法(Ubuntu)


はじめに

背景

  • WSL2-Ubuntuをインストールした
    • 接続ターミナルがとても使いにくい
    • Teratermが利用できればいいなと思った
  • 参考

手順サマリ

  • Linuxでsshd起動
    ・rsaキー作成
    ・sshd_config設定
    ・デーモン起動
  • ssh接続確認
    ・Teraterm接続
    ・接続確認

Linux(Ubuntu)でsshd起動させる

rsaキー(鍵)作成

Ubuntuに接続

  • GUI接続
    • すべてのアプリ – Ubuntu
  • CLI接続
    • コマンドプロンプト(PowerShell)起動
    • 「wsl」入力(または「wsl -d ubuntu」
  • 接続ユーザ
    • インストールしたときのユーザ
    • 以降でroot権限で実行する場合、「sudo」を使う

sshdが起動していないことを確認

ps -ef|grep ssh|grep -v grep
  • 出力なし
    • sshdは起動していない

rsaキー(鍵)作成

sudo ssh-keygen -A
  • sudo
    • root権限で実行
  • ssh-keygen
    • 鍵作成コマンド
  • -A
    • 鍵作成オプション
    • 全部作る
      • 取り合えず、全部作っちゃおう
  • 参考
    • ssh-keygenコマンドの説明記事
      • 「-A」オプションの意味
      • 作成されるファイルについて
    • ssh-keygenでssh鍵を作成

sshd_config設定

sshd_coonfigファイルの確認

cd /etc/ssh
ls -l sshd_config
  • sshd_configあるか確認
    • あればOK
    • なければ「sudo apt-get install ssh」でインストール

sshd_config開く

sudo cp -p sshd_config sshd_config.bk
sudo vi sshd_config
  • cd /etc/ssh
    • ssh_configのあるディレクトリに移動
  • cp -p sshd_config sshd_config.bk
    • バックアップ取得
    • バックアップファイル名:「sshd_config.bk」
  • vi sshd_config
    • 編集するのでvi(vim)起動
  • 参考

sshd_configの編集

  • 編集箇所は2か所(以下の記載は変更後)
  • ルート権限付与しない
    • 設定内容:PermitRootLogin no
      • suがAuthenticationエラーになる
      • sudoを使う
    • 何となくやっとかないと気持ち悪い
  • パスワード認証接続許可
    • 設定内容:PasswordAuthentication yes
    • Teratermからパスワード認証で接続する設定
      • 公開鍵認証より設定が簡単なので

変更前後の差分確認

diff sshd_config.bk sshd_config
34c34
< #PermitRootLogin prohibit-password
---
> PermitRootLogin no
58c58
< PasswordAuthentication no
---
> PasswordAuthentication yes
  • diff
    • 2つのファイルの差分出力
    • 変更前ファイル:sshd_config.bk
    • 変更後ファイル:sshd_config
      • 変更後の表示が正しいことを確認する
  • 補足
    • diffの表記
      • 「—」…… 上が修正前、下が修正後
      • 34c34 …… 差分のある位置。「c」が修正。変更前ファイル34行目、変更後ファイルの34行目

デーモン(sshd)起動

起動

sudo service ssh start
 * Starting OpenBSD Secure Shell server sshd       [ OK ]
  • service ssh start
    • サービス起動コマンド
    • sshデーモンの起動
    • コマンドは「sshd」でないことに注意
    • 起動している場合は「restart」
  • Starting OpenBSD Secure Shell server sshd [ OK ]
    • sshdサービスが起動した
    • 鍵作っていないとエラーメッセージ「sshd: no hostkeys available — exiting.」が出る
  • 補足
    • カーネルを停止した場合には、デーモン起動を再度実施
  • 参考

起動確認

ps -ef|grep ssh|grep -v grep
root 1041 624 0 10:48 ? 00:00:00 sshd: /usr/sbin/sshd [listener] 0 of 10-100 startups
  • /usr/sbin/sshd [listener]
    • sshdリスナープロセスが起動していることが確認できる
    • ssh接続できる状態になった

ssh接続確認

Teratermで接続情報入力して接続

WSLにteratarmで接続する
  • ホスト …… localhost
  • サービス …… SSH
  • TCPポート …… 22
    • sshd_configで変更可能(今回は何も変更していないので、デフォルトの22)
  • SSHバージョン …… SSH2
  • 「OK」して
    • SSH認証画面 …… ユーザ、パスワード入力して「接続」
    • つなげない場合は、「OK」押すとエラーになる
  • 補足
    • Teratermのインストール手順は割愛
    • 初回はセキュリティ警告メッセージが出力される
      (ローカルのWSLに接続するのでOK)
セキュリティ警告メッセージ

接続確認

ps -ef|grep ssh|grep -v grep
root 1041 624 0 10:48 ? 00:00:00 sshd: /usr/sbin/sshd [listener] 0 of 10-100 startups
root 1359 1041 0 14:49 ? 00:00:00 sshd: futa [priv]
futa 1411 1359 0 14:50 ? 00:00:00 sshd: futa@pts/1
  • 接続完了したのでコマンド実行確認
    • なんでもいい

関連記事紹介

  • WSL(Ubuntu)にFTP接続する記事
  • 手順概要
    • リスンポート確認
    • vsftpdインストール(apt-get)
    • FFFTPで接続
  • Teraterm接続でX11アプリ表示手順を説明した記事
  • 手順概要
    • X11Forwarding設定
    • Windows環境にXmingをインストール
      • X Window Systemが利用できるようになる
    • Teraterm転送設定変更
    • xclockやxeyesで接続確認
  • Madplotlibで表示するなら設定必要


Posted by futa