Linux / Unixの世界ではSSHは、SSH Secure Shellのは、それが容易に特定のサーバに接続して、特定のコマンドラインを実行することができます使用して、略称であり、良いことです。安全な通信プロトコル、ならびに他の多くの機能として、リモート端末をサポートすることに加えて(例えば、Gitのような)安全な通信ツールを提供します。

この記事では、SSHは、構築された接続端子基づいてSSHセキュア通信プロトコルに主に参照します。SSHリモート接続には、次のSSHの一例であり、非常に簡単です:

画像

接続を開くために、サーバーのアドレスを指定します - シンプルな真実であることを!そして、次のコマンドは、ターゲット・マシン上で実行されています。作業が行われ、あなたは接続を切断したいですか?ように簡単ターミナルの近く、セッションを終了するには、通常、exitコマンド!

画像

SSH自体はベースのコマンドライン環境があるので、あなたは、リモートサーバー上のタスクの数を実行する場合のステートメントのために書くことも非常に簡単ですので、完了するのは簡単です:

画像

だから、多くの人々は、これらのツールは大きくて、管理経験(使用)シングルサーバ限り特色に加え、sshは簡単のクラスタを管理することができさえせずに、Linuxサーバを管理するバルクに非常に簡単に見つけます。あなたは、リモート管理にサーバーをしたい場合は、サーバー上のOpenSSHサーバー構成をインストールする必要があります。また、これは、基本的なLinuxコマンドを取得する簡単な数です。すべてがとても美しいです!

Windowsリモート管理の世界

同様のリターンは、Windows上で動作するようにすると、人々が最初にリモートでリモートデスクトップ接続を管理するための方法を考え、それがこのウィンドウには、次のとおりです。

画像

リモートデスクトップ接続(RDP)アーティファクトである限り、ネットワークアドレス(マシン名)、およびユーザー名とパスワードを知っているように、あなたが任意のWindowsコンピュータに接続することができます。接続は、ほとんどローカルコンピュータの操作と同様にリモートコンピュータを使用してのように、確立された後。実際には、私たちが発見、RDPのパフォーマンスはかなり良いです。ネットワークは良くないですが、また良好な性能を持っている場合でも、遠隔操作は資源が豊富なデスクトップだけでなく、オーディオやビデオ、およびクリップボードだけではありません。また、RDPクライアントは、クロスプラットフォーム(などのMacOS、Linux、およびモバイルタブレットを含む)だけでなく、非常に豊富であり、多くのコンピュータがあり、同時に複数のツールを接続することができます。ここでは、Mac上で接続されているWindowsサーバの効果は以下のとおりです。

画像

RDP SSHに比べて、より強力なグラフィックス接続を提供し、より強力だったかもしれないが、問題はバッチです。我々は多数のサーバーのクラスタを管理したい場合は、リモートデスクトップでは何もできません。我々は、操作を必要とする場合には、複数のサーバー上で動作しているときに、RDPは自動的に繰り返す能力を提供することはできません。本質的には、これが問題のRDPではありません、それは共通の問題のグラフィカルインターフェイスです。

PowerShellのリモート処理のWinRMに基づいて

Windows上でグラフィカルインターフェイスがリモート管理機能のボリュームを提供することはできませんので、コマンドラインは、それをインターフェイス?分、Windowsのコマンドラインインターフェイスを待って?Windowsは、コマンドラインインターフェイスを持っていますか?多くの人々は、おそらくいくつかの質問を持っています。答えは自明、Windowsに組み込まれているコマンドラインだけではない、と非常に強力です。しかし、ほとんどの人はそれを使用しないでください。早期では、Windowsのコマンドプロンプト(CMD)が、以降のWindows .NETベースのPowerShell、大幅に強化されたスクリプトプログラミング機能を追加しました。

幸いなことに、システムは、Windows PowerShellのコマンドラインがリモートで接続する能力とバッチの完全な実行を提供しています。PowerShellのリモート処理が唯一のサーバのアドレスを知っている必要があり、同様のSSHは、あなたが簡単に接続することができ、そしてセッションを終了するには、それは同じexitコマンドです:

画像

また、PowerShellコマンドはまた、Invoke-Commandコマンドなどというようにリモート実行用に最適化多くの専門としています。次のコードは、2つのリモートコンピュータのインターフェース言語(コード照会する文書に引用を):

1
Invoke-Command -ComputerName Server01, Server02 -ScriptBlock { Get-UICulture }

出力は次のようになります。

1
2
3
4
LCID    Name     DisplayName               PSComputerName
----    ----     -----------               --------------
1033    en-US    English (United States)   server01.corp.fabrikam.com
1033    en-US    English (United States)   server02.corp.fabrikam.com

PowerShellのリモート処理は、内蔵のリモート管理技術のWindowsに基づいていWinRMの提供します。あなたがWindowsにサーバーをしたい場合は、リモート管理サーバーにWinRMを有効にし、ファイアウォールのルールを設定する必要があります。

1
2
Enable-PSRemoting -SkipNetworkProfileCheck -Force
Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any

上記の設定を完了した後、クライアントが入力し-PSSessionコマンドは、サーバーに接続するためにコマンドを使用してPowerShellを使用することができます。

パスワードは、PowerShellのリモート処理の経験を構成されていません

パスワードは、シンプルで直感的な、しかし、認証方法を確保するのに十分ではありません。それはあなたがそれぞれに異なるパスワードを使用したい場合は、パスワードテーブルのメンテナンスが面倒なものとなっている、主にクラスタ内のサーバの数が多いため、十分なセキュリティではありません。両方が同じパスワードを使用している場合でも。パスワードが漏洩すると、クラスタ全体が危険に陥っています。だから、多くの人が同時にクラスタ内のコンピュータのパスワードを使用して、妥協点を選択しなければならなかった、と(例えば、隔月)タイミングが自分のパスワードを変更集中しました。利便性とセキュリティのバランスを取るように。しかし、いつもの方法は、パスワードのセキュリティが十分ではありません。ログインサーバは、SSHは、パスワードの使用をサポートしている場合、また、公開鍵証明書(公開鍵)の使用をサポートしています。公開鍵証明書ログインの原則、管理者が鍵ペアを生成するには、サーバーに公開鍵をコピーし、彼らは秘密鍵を保持し、プライベートコンテンツを保護。必要なときに、サーバーに接続した後、安全な通信をオンにし、クライアントとサーバー上の秘密鍵を使用してログイン認証のシリーズを実施します。ログインが漏洩の危険性を持たないようにするので、公開の開示は、プライベート(秘密鍵)セキュリティ上のリスクをもたらしませんでした。

画像

WinRMのPowerShellのリモート処理サーバーは、パスワードなしで二つの方法をサポートしています。一つは、クライアント証明書を使用してログオンし、SSH認証プロセスは非常に似ています。また、集中管理ログインによって、Active Directory環境をサポートしています。WinRMクライアント証明書ログオン(クライアント証明書)を有効にするには、主な手順は以下のとおりです。クライアント側の証明書、および公共の証明書を生成するために、ファイアウォールのルールを設定し、サービス側でのWinRMのWinRMのためのHTTPSのサポートを有効にするには、サーバ側でクライアント証明書のログイン機能を有効にしますクライアント上のローカルコンピュータの証明書にサーバーにインポートし、指定されたサーバー証明書にユーザーにマッピングされた鍵(公開鍵)は、これらの手順を使用してサーバに接続し、複雑ではありませんが、SSHサーバの設定はそれほど単純で好きではなかったです。だから私は、これらのスクリプトが書かれている入れてください、確認してダウンロードするのGitHubに行きますここに記事がで手順を詳しく説明している使用されるため。

画像

WinRMクライアント証明書ベースのログオンに加えて、PowerShellの6の新しいクロスプラットフォームのバージョンもサポートしてOpenSSHのとまったく同じ経験のLinuxサーバー上で直接SSHを。してください公式ドキュメントに行くあなたもすることができ、PowerShellのリモート処理の詳細については、特定の構成のために、この電子書籍を参照してください

あなたは、サーバー上にWinRMを有効にすると、PowerShellのリモート処理機能をサポートするだけでなく、Windowsサーバのための他の多くのリモート管理機能を提供することができないだけ。例えば、有名な自動構成ソフトウェアAnsibleあなたがする同じPowerShellのリモート処理の方法に使用できるWindowsサーバーのための自動化された設定を提供する能力を、だけでなく、ほかのログイン、上記のクライアント証明書をサポートしていました。これは、上記の簡単な構成の後に、また、管理するためのWindowsサーバのバッチ自動化に非常に簡単にできることが判明しました。