OpenSSH を使うと、任意のオペレーティングシステムから任意のオペレーティングシステムにリモートでアクセスできます。これは素晴らしいことです!
Linux 専門家と Windows 専門家は、たいてい、もう一方のプラットフォームを使うのを少し居心地悪く感じます。ほとんどのITプロフェッショナルには、得意とするプラットフォームがあるものです。これは悪いことではなく、単なる事実です。Linux の専門家は、Windows コンピュータにログインする必要があると、ちょっとせせら笑うようなところがあります。Windows の専門家は、Linux の vim を終了する方法について何度も Google 検索しないといけないかもしれません。
ここ何年かの間に、Microsoft は、Windows と Linux とのスムーズな統合という強い目的意識で多くのことを決定しました。Windows 10には Windows にインストール可能な Linux Subsystem があって、ユーザーは Windows 上で Linux を実行できます。Azure には Linux を実行する大量のワークロードがあり、PowerShell は現在はオープンソースで、Linux 上で利用可能です。
OpenSSH on Windows は、Microsoft のこうした取り組みの一環に位置付けられます。ご存知のように、OpenSSH は Linux マシン上でリモートコードを実行する最も一般的な方法であり、何年も前からありました。Windows で使えるようになったことで、実質的にどんなプラットフォームでも使用できます。
自社の環境で Windows と Linux の両方を管理している場合(そういう場合が多いでしょうが)、リモートからコンピュータ管理するのに複数の手法を使いたいですか?答えは否でしょう。PowerShell ユーザーは、Windows マシンへのリモート処理に WS-Management を使用することが多いと思いますが、これは基本的に Windows で使用されるプロトコルです。SSHを使用すると、どのオペレーティングシステムからでも任意のオペレーティングシステムにリモートでアクセスできます。これは便利です!
筆者の専門領域は Windows ですので、Linux サーバーにリモートで入りたいときは、たいてい PuTTY のようなものを使います。PuTTY を使うと、SSH プロトコルにより Linux に接続できます。優れたソフトウェアですが、PuTTY を使うことは Windows から Linux に接続するのに、OSにネイティブでない、切り離されたアプリケーションを持つことを意味します。あまり愉快なことではありません。業務の大半で PowerShell のプロンプトに関わっていると、別のアプリケーションに切り替えるのは面倒です。
OpenSSH on Windows を使えば、PowerShell(またはCMD)から直接 Linux マシン(または Windows)にSSHで接続することができます。つまり、どのプラットフォームで作業していても、ただ1つのコマンドプロンプトで必要なリモート処理に入ることができます。作業はシンプルになります。シンプルなのはいいことです。ITにおけるシンプルさはいつでも歓迎されます。
また、PowerShell のリモートコマンドを使用し続けたいユーザーは、OpenSSH on Windows を使って、Enter-PSSession into Linux のような PowerShell Core のリモートコマンドも実行できます。
現時点では、OpenSSH on Windows を使用するには2つの方法があります。1つは、OpenSSH ベータ版が機能として組み込まれている Windows 10 Fall Creators Update を利用する方法です。インストールするには PowerShell を開いて次のコマンドを実行します。
PS C:\ > Get-WindowsCapability -Online | Where-Object {$_.Name -like 'OpenSSH*'}
Name : OpenSSH.Client~~~~0.0.1.0
State : NotPresent
Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent
機能が利用可能なことが分かったので、インストールできます。
PS C:\> Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
PS C:\> Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Darwin Sanoy 氏は、Chocolatey コミュニティの重要なメンバーとして長期にわたって活動しています。コミュニティの多くのパッケージを管理していますが、そのうちの1つが OpenSSH package です。氏は、このパッケージを Chocolatey を使っても使わなくてもインストールできる、ユニバーサルなインストーラとして作成しました。Chocolatey を使ってインストールする場合は、次のようにします。
PS C:\> choco install openssh -y -params '"/SSHAgentFeature"'
ローカルマシンに OpenSSH エージェントがインストールされます。OpenSSH には、エージェントとサーバーという2つの主要コンポーネントがあります。エージェントを使用すると他のサーバーとリモートで接続することができ、サーバー機能は他のマシンからのリモート接続を可能にします。
OpenSSH をサーバー機能とともにインストールするには、以下のようにします。
PS C:\> choco install openssh -y -params '"/SSHServerFeature"'
SSHをインストールしたら、次のようにして PowerShell から Linux サーバー (linux-test) に接続します。
PS C:\> ssh root@linux-test
root@linux-test password:
Last login: Wed Mar 21 13:55:04 2018 from windows-test
[root@ linux-test ~]# uname
Linux
[root@linux-test ~]#
Dan Franciscus is a systems engineer and VMware Certified Professional (VCP) specializing in VMware, PowerShell, and other Microsoft-based technologies. You can reach Dan at his blog (http://www.winsysblog.com/) or Twitter at @dan_franciscus.
より優れた業務アプリケーションやウェブサイトの開発に役立つ、ニュース、情報、チュートリアルをご案内します。
The specified form no longer exists or is currently unpublished.