これによってWindows Serverに対してSSHでリモートから接続し、CLIによる操作や管理ができるようになる。サーバ構築作業が効率化できそうなので、非常に便利そうな機能追加であると感じた。
しかし、本当にSSH接続でWindows Serverをコマンド操作でできるか不安もあるので、実際にWindows Server 2019をインストールして、OpenSSHの機能を有効にしてみることにした。
SSHクライアントの設定
SSHクライアントはデフォルトでインストール済みであり、特に設定不要で使える。コマンドプロンプトでssh
とたたけば、問題なく使える。PS C:\> ssh
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]
[-b bind_address] [-c cipher_spec] [-D [bind_address:]port]
[-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]
[-i identity_file] [-J [user@]host[:port]] [-L address]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
[-Q query_option] [-R address] [-S ctl_path] [-W host:port]
[-w local_tun[:remote_tun]] destination [command]
なお、SSHクライアントのインストール状況は、「Windowsの設定」→「アプリと機能」→「オプション機能の管理」から「OpenSSHクライアント」の項目を見ることで確認できる。SSHサーバの設定
SSHサーバはデフォルトでは有効になっていないので、「Windowsの設定」→「アプリと機能」→「オプション機能の管理」から「OpenSSHサーバー」をインストールする。インストール完了すると、サービスの画面に「OpenSSH SSH Server」というサービスが登録される。
ただし、OpenSSH SSH Serverは自動で起動しないため、サービスを「開始」し、必要に応じて「スタートアップの種類」を自動起動する設定に変更しておこう。
サービス開始後にサーバの待ち受けポートを確認してみる。以下の通り、SSHで使用する22番ポートで待ち受けしていることが確認できる。
PS C:\> netstat -nao | findstr :22
TCP 0.0.0.0:22 0.0.0.0:0 LISTENING 2316
TCP [::]:22 [::]:0 LISTENING 2316
Windowsファイアウォールも、SSHサーバインストール時に受信のルールを追加してくれるため、特別に設定は不要となる。Windows Server 2019にSSH接続してみる
まずは、Windows Server 2019にインストールされているSSHクライアントを使って自分自身に接続してみると、問題なく接続できた。PS C:\> ssh localhost
The authenticity of host 'localhost (::1)' can't be established.
ECDSA key fingerprint is SHA256:dP/b/2J+X/u8z6LLN4iU7zRYgpP7RhKBxl8SfdplwD8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
intrat\tadmin@localhost's password:
Microsoft Windows [Version 10.0.17763.253]
(c) 2018 Microsoft Corporation. All rights reserved.
intrat\tadmin@T1082W219 C:\Users\tadmin>dir
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は 8A39-0094 です
C:\Users\tadmin のディレクトリ
2019/06/05 14:49 <DIR> .
2019/06/05 14:49 <DIR> ..
2019/05/23 15:31 <DIR> .cisco
2019/06/05 14:49 <DIR> .ssh
2019/05/04 16:41 <DIR> 3D Objects
2019/05/04 16:41 <DIR> Contacts
2019/06/05 14:47 <DIR> Desktop
2019/05/12 06:30 <DIR> Documents
2019/05/05 08:40 <DIR> Downloads
2019/05/04 16:41 <DIR> Favorites
2019/05/04 16:41 <DIR> Links
2019/05/04 16:41 <DIR> Music
2019/05/19 14:52 <DIR> Pictures
2019/05/04 16:41 <DIR> Saved Games
2019/05/04 16:41 <DIR> Searches
2019/05/04 16:41 <DIR> Videos
0 個のファイル 0 バイト
16 個のディレクトリ 27,887,628,288 バイトの空き領域
intrat\tadmin@T1082W219 C:\Users\tadmin>exit
Connection to localhost closed.
Tera Termからでも同様にSSH接続できた。Tera Term上で出力するコマンドプロンプトの画面は新鮮に感じる。SSH接続後にPowerShellを実行
コマンドプロンプトからpowershell
コマンドを打つと、問題なくPowerShellを実行できることも確認できた。これは、Windows Serverのほぼすべての設定作業がTera TermなどのSSHクライアントソフトを使ってできるということと同義となる。Tera Termであればログ取得を行いながら作業ができたりするので、これは非常に便利ではなかろうか。。。intrat\tadmin@T1082W219 C:\Users\tadmin>powershell
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
PS C:\Users\tadmin> Get-ComputerInfo
WindowsBuildLabEx : 17763.1.amd64fre.rs5_release.180914-1434
WindowsCurrentVersion : 6.3
WindowsEditionId : ServerStandardEval
WindowsInstallationType : Server
WindowsInstallDateFromRegistry : 2019/05/03 22:30:57
WindowsProductId : 00431-10000-00000-AA047
WindowsProductName : Windows Server 2019 Standard Evaluation
~(以下略)~
SSH接続時のログオン・ログオフのログを確認
最後に念のため、SSH接続時のログオン・ログオフの情報が出力されるかを確認してみる。イベントビューアーからセキュリティイベントログを確認してみると、以下の通り、ログオン・ログオフのログが出力されていることが確認できた。ログオン時は、
プロセス名:C:\Windows\System32\OpenSSH\sshd.exe
と出力されるのでSSH接続されたことがわかるのだが、ログオフ時は特にSSHというログが出力されないため、ログオン タイプ:8
から判断する必要がありそうだ。ログオン時のセキュリティイベントログ
アカウントが正常にログオンしました。
サブジェクト:
セキュリティ ID: SYSTEM
アカウント名: T1082W219$
アカウント ドメイン: INTRAT
ログオン ID: 0x3E7
ログオン情報:
ログオン タイプ: 8
制限付き管理モード: -
仮想アカウント: いいえ
昇格されたトークン: はい
偽装レベル: 偽装
新しいログオン:
セキュリティ ID: INTRAT\tadmin
アカウント名: tadmin
アカウント ドメイン: INTRAT
ログオン ID: 0xC8547A8
リンクされたログオン ID: 0x0
ネットワーク アカウント名: -
ネットワーク アカウント ドメイン: -
ログオン GUID: {f0653b97-46be-db5c-a76b-a6e54f340f33}
プロセス情報:
プロセス ID: 0x6b0
プロセス名: C:\Windows\System32\OpenSSH\sshd.exe
~(以下略)~
ログオフ時のセキュリティイベントログ
アカウントがログオフしました。
サブジェクト:
セキュリティ ID: INTRAT\tadmin
アカウント名: tadmin
アカウント ドメイン: INTRAT
ログオン ID: 0xE75A8D2
ログオン タイプ: 8
このイベントは、ログオン セッションが破棄された場合に生成されます。これは、ログオン ID の値を使用して、ログオン イベントに関連付けられる場合があります。ログオン ID は、同一コンピューターが次に再起動するまでの間のみ一意です。
0 件のコメント:
コメントを投稿