Using PuTTYs plink Command to Automate SSH Actions on Windows

Summary

SSH はリモート サーバー上のスクリプトを自動化する安全かつ便利な方法です。 UNIX や Linux マシンでは、SSH のセットアップはほとんど些細なことですが、Windows では、より困難です。 PuTTYの “plink “コマンドは、Windows上でSSHの動作を自動化するために使用することができます。 「plink “はDPXスクリプトインターフェースから使用できるようにするために、Windowsマシンではいくつかの特別な初期化要件があります。 この記事では、PuTTYのユーティリティ群に含まれるWindowsコマンド “plink “の使用方法について説明します。 この記事は、”plink “の使用法について包括的にレビューするものではありません。 特に、DPXスクリプトエンジンで使用するために必要なホストキーの有効化について説明します。 「

Step By Step

PuTTY は Windows プラットフォーム向けの自由に利用できるサードパーティの SSH クライアントです。 この記事を書いている時点では、PuTTYは次の場所で入手できます: www.chiark.greenend.org.uk/~sgtatham/putty/

Catalogic Softwareはサードパーティの実行ファイルに対して技術サポートを提供していません。

「plink.exe」はWindowsのバッチスクリプトで使用でき、SSH経由でリモートスクリプトの実行を自動化することができます。 これは特に、NetApp 操作の自動化や、UNIX および Linux ホストでの追加スクリプトのトリガーに便利です。 典型的なコマンドは次のようになります。

plink -ssh -l root -pw "password" host-name command

より具体的な例を挙げましょう。

初めて Windows のコマンド ラインから新しいホストに対して plink を実行すると、次のようなメッセージが表示されます:

The server's host key is not cached in the registry. Youhave no guarantee that the server is the computer youthink it is.The server's rsa2 key fingerprint is:ssh-rsa 768 d1:1a:29:c0:6d:71:db:3b:36:7b:c1:01:b5:da:ca:d8If you trust this host, enter "y" to add the key toPuTTY's cache and carry on connecting.If you want to carry on connecting just once, withoutadding the key to the cache, enter "n".If you do not trust this host, press Return to abandon theconnection.Store key in cache? (y/n)

これは回避不能な対話型プロンプトです。 y」を選択すると、ホスト キーが Windows レジストリにキャッシュされ、このホストではキーの指紋の質問が再度行われることはありません。 n」を選択すると、キーはキャッシュされず、このホストへの接続を試みるたびにこの質問が表示されます。

「plink」は、これらのホスト キーを HKEY_CURRENT_USER レジストリ内のユーザーのプロファイルにキャッシュします。 レジストリのこの領域は、現在のログインに固有のもので、ログイン セッション間で持続しますが、これらの値はシステムの他のユーザーと共有されません。

ここに問題が存在します。 DPX に使用されるデフォルトのアカウントは、「ローカル システム アカウント」です。 Windows のサービス マネージャーで、この設定を確認します。 サービス マネージャーで cmagent サービスを見つけ、右クリックしてプロパティを選択し、[ログオン] タブを確認します。 DPXがplinkを効果的に使用するには、指定されたcmagentサービスのログインアカウント用のホストキーがHKEY_CURRENT_USERレジストリ内にキャッシュされる必要があります。 問題は、「ローカル システム アカウント」には、コンソールにログインしてこれらの値を簡単にシードする直接的な方法がないことです。

2つの可能性があります。

  • すべてのローカル マシン ハードウェアとサポートされるアプリケーション インターフェイスへのフル アクセスを持つ管理者アカウントを作成する
  • Use Local System account

一般には、簡単な方法は、すべてのローカル マシン ハードウェアとサポートされるアプリケーション インターフェイスへのフルアクセスを持つ管理者アカウントを作成することです。 ローカル マシン管理者またはドメイン管理者アカウントは通常動作しますが、DPX バックアップおよび復元操作が正しく動作するために必要な権限を持つアカウントであれば、どのようなアカウントでも十分です。

  1. Windows サービス マネージャーに移動し、DPX サービス (特に cmagent) をこの新しいアカウントを使用するように変更します。 このアカウントが DPX で動作することを確認するために、データ保護ジョブをテストします。
  2. このアカウントでログインして、コマンド シェルを表示します。 接続する必要がある各ホストについて、「plink -ssh user@host-name」を起動し、鍵の指紋についてプロンプトされたら、「y」と答えてその値をキャッシュします。 起動した対話型シェルはすべて終了できます。

The necessary values are cached in:
HKEY_CURRENT_USER\Software\SimonTathamPuTTY ◇SshHostKeys

HKEY=”0″>div

コメントを残す

メールアドレスが公開されることはありません。