Windowsでのこれからのリモート処理 - OpenSSH

投稿者: Dan Franciscus 投稿日: 2018年9月30

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を使用すると、どのオペレーティングシステムからでも任意のオペレーティングシステムにリモートでアクセスできます。これは便利です!

 

ITプロフェッショナルの日常が心穏やかなものに

筆者の専門領域は 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 10 をインストール

現時点では、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

ユニバーサルなインストーラを使用した OpenSSH のインストール

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"'

PowerShell から SSH プロトコルで Linux に接続

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
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.
著者が作成したブログ

関連タグ

Prefooter Dots
Subscribe Icon

Latest Stories in Your Inbox

Subscribe to get all the news, info and tutorials you need to build better business apps and sites

The specified form no longer exists or is currently unpublished.