WSL Ubuntu18.04でSSHパスワード認証

Tera TermによるSSHログイン

Tera TermによるSSHログイン

コンソールのログ記録

2018年12月、WSL Ubuntu18.04でSSHパスワード認証の設定をしました。

WSL Ubuntu18.04環境をインストールして使用しています。

WSL : Windows で Ubuntu 18.04 LTS 環境 を設定する

WSL Ubuntuの標準コンソールはDOSコマンドプロンプトのようなものです。Ubuntuの操作ログを簡単に残すことができません。

独立したPCにリモートログインするときは、Tera Termというターミナルエミュレータでログインしてログを記録していました。

Tera Termリモートログイン

Tera Termリモートログイン

同じPCの上で動作するWSL UbuntuとTera Termの間でも、同じようにログインできるはずです。SSH通信のパスワード認証でログインできるように設定をしました。

SSHパスワード認証

昔はUNIXにリモートログインするときに、Telnetというプロトコルを使用していました。しかし、暗号化やセキュリティーの問題から、最近ではSSH(Secure Shell)プロトコルを使用するのが普通です。Telnetは平文で通信をするため入力情報が盗聴される危険性がありますが、SSH通信はネットワーク上の通信がすべて暗号化されるため盗聴されたとしても解読されにくいので比較的安全な通信方法です。

SSHは、複数の認証方式が利用できます。

  • パスワード認証 : ユーザー名とパスワードで認証
  • 公開鍵認証 : 公開鍵をログイン先に登録し、公開鍵に対応した秘密鍵を持つクライアントだけが接続可能

公開鍵認証は少々面倒な手順ですが、安全な認証方式です。今回はログ記録が目的です。しかも、ローカルネットワークで同じPCの上から接続しますのでパスワード認証の設定を行います。

SSHクライアント

SSHクライアントには、PuTTYやWindows10標準のOpenSSHがあります。今回は昔から使用しているTera Termを使用します。

Tera Term

Tera Term

Tera Termは、TelnetやSSHで通信できるターミナルエミュレータでオープンソースにより継続的に開発されています。久しぶりに公式サイトを見ると「Tera Term 4.101 (日付: 2018-11-30)」をリリースしていました。

SSHサーバー設定

WSL UbuntuにSSH通信ができるように/etc/ssh/sshd_configを設定します。最初に設定ファイルをバックアップしてから編集します。

$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org
$ sudo vi /etc/ssh/sshd_config

   (2カ所修正します)

$ diff /etc/ssh/sshd_config /etc/ssh/sshd_config.org
56,57c56,57
< PasswordAuthentication yes
< PermitEmptyPasswords no
---
> PasswordAuthentication no
> #PermitEmptyPasswords no

$
  • PasswordAuthentication : パスワード認証を有効(yes)
  • PermitEmptyPasswords : パスワードなしでのログイン禁止(no)・・・コメント解除

SSHサービス開始

SSHサービスを開始します。

$ sudo service ssh start
[sudo] pi のパスワード:
 * Starting OpenBSD Secure Shell server sshd   [ OK ]

$

SSH接続テスト

Tera TermからTelnetのTCPポート22で接続テストします。

Telnet 22番ポート

Telnet 22番ポート

 

UbuntuのOpenSSHから応答があれば、無事SSHサービスを起動しています。

SSHからの応答

SSHからの応答

これが、Windowsからの応答だった場合は、Windows側のSSHサービスが起動している状態なのでSSHサービスを停止しておきます。

SSH接続

WSL UbuntuのIPアドレスをifconfigコマンドで調べます。

$ ifconfig
eth0: ・・・
        inet 192.168.0.2  netmask 255.255.255.0  broadcast 192.168.0.255
      ・・・

ホストにWSL UbuntuのIPアドレスを指定して、Tera TermからSSHのTCPポート22で接続します。

SSH 22番ポート

SSH 22番ポート

 

「プレインパスワードを使う」をチェックして、ユーザー名とパスフレーズ(パスワード)を入力します。

 

SSHパスワード認証

SSHパスワード認証

Ubuntuにログインしました。

Ubuntuにログイン

Ubuntuにログイン

 

Tera Term ログ記録

Tera Termは、ファイル(F)-ログ(L)でログ記録を開始します。

ログ記録の設定を変更すると便利に使用することができます。設定(S)-その他の設定(D)の[ログ]タブを開きます。

Tera Termログ設定

Tera Termログ設定

標準ログファイル名(F)を「%Y%m%d_%H%M%S_&h.txt」とします。ログファイル名を「20181211_103600_192.168.0.2.txt」のように「年月日_時分秒_IPアドレス」とします。

標準のログ保存先フォルダ(S)に任意のフォルダを指定します。

自動的にログ採取を開始する(U)にチェックを入れます。ログインと当時にログ記録を開始することができます。

最後に

Windows Subsystem for Linux (WSL)Ubuntu 18.04 LTSにSSHのパスワード認証でリモートログインできるようになりました。これで、コンソールログが簡単に記録できます。

セキュリティー対策は重要なことですので、SSHの公開鍵認証に関する設定についてもそのうちに調べてみたいと思います。