the-future-of-remoting-in-windows-openssh

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

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

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 ~]#
 

Comments
Comments are disabled in preview mode.
Loading animation