前のトピック: run-SSHCommand コマンド -- SSH(Funclet)を使用してリモート コマンドを実行する

次のトピック: run-winRemote コマンド -- 複数のリモート Windows システムでコマンドを実行する(Funclet)

run-SSHShell コマンド -- 対話型の SSH コマンド ラインを実行する(Funclet)

run-SSHCommand コマンドは、入力行を受け入れ、SSH を使用してリモート システムにそれらを送信して、リモート ノードからの出力を表示します。 コマンド ラインは、既存の SSH セッションまたは新しい SSH セッションで実行できます。 入力が終了すると、そのセッションは廃棄されます。 AutoShell はプライマリ リモート通信ルートとして SSH を使用しますが、このコマンドのリモート ノードでクライアント AutoShell を実行する必要ありません。 コマンドは SSH サーバを実行している任意のシステムで実行できます。 利用可能なコマンドとそのオプション、および入力ループを終了する方法は、リモート ノードに設定されたシェルに依存します。 通常、入力ループは「quit」または「exit」を入力することで終了できます。

コマンドの構文は、以下のとおりです。

run-SSHShell [-host hostname] [-user username] [-pass password] [-key key phrase]
[-prompt prompt] [-port portnumber] [-session ssh]
-host hostname

SSH サーバの名前です。

-user username

(オプション)リモート ノードへのログインに使用するユーザ名を指定します。 ユーザ名はパスワードまたは公開鍵認証に必要です。 ユーザ名を指定しない場合、AutoShell へのログイン時に入力されたユーザ名が使用されます。 引用符で囲まれていない引数トークンは自動的に文字列に変換されます。 式を丸かっこで囲み、式が自動的に引用されないようにしてください。

デフォルト: $$User

-pass password

(オプション)リモート ノードへのログインに使用するパスワードを指定します。 パスワードを指定しない場合、AutoShell へのログイン時に入力されたパスワードが使用されます。 このコマンドを発行した後に非表示でパスワードを入力するには、引数としてオプションのプロンプトと PW_GET() を指定します。 引用符で囲まれていない引数トークンは自動的に文字列に変換されます。 式を丸かっこで囲み、式が自動的に引用されないようにしてください。

デフォルト: $$Pass

-key key

(オプション)リモート ノードへのログインに使用する、RSA の秘密鍵が保存されているファイルへの絶対パスまたは相対パスを指定します。 秘密鍵とパスワードが指定された場合、AutoShell はまず公開鍵でログオンしようとします。公開鍵でのログオンに失敗した場合は、パスワードでログオンします。 引用符で囲まれていない引数トークンは自動的に文字列に変換されます。 式を丸かっこで囲み、式が自動的に引用されないようにしてください。 このパラメータは、公開鍵認証を使用して、オンザフライで SSH セッションを作成する場合にのみ必要です。

デフォルト: ""

phrase

秘密鍵のパスフレーズを指定します。 キーが暗号化されていない場合、パスフレーズは不要です。 このコマンドを発行した後に非表示でパスワードを入力するには、引数としてオプションのプロンプトと PW_GET() を指定します。 引用符で囲まれていない引数トークンは自動的に文字列に変換されます。 式を丸かっこで囲み、式が自動的に引用されないようにしてください。

デフォルト: ""

-prompt prompt

(オプション)入力できるようになったことを示すために SSH サーバが表示するプロンプト文字列の末尾の固定部分(例: AutoShell では「::->」)を指定します。 この情報は、SSH セッションで実行されたコマンドの完了を判断するために必要です。 できるだけ多くの固定文字を指定します。 引用符で囲まれていない引数トークンは自動的に文字列に変換されます。 式を丸かっこで囲み、式が自動的に引用されないようにしてください。

デフォルト: "::->"

-port portnumber

(オプション)ターゲット システムに接続するポートです。

デフォルト: SSH の標準ポート 22。

-session ssh

新しい SSHSession によって返される CASSHELL オブジェクトを指定します。 既存の SSH セッション オブジェクトを渡す場合、run-SSHShell では、コマンド ラインからコマンドを実行するために SSH セッションを作成する必要はありません。 このパラメータを指定すると、host、user、pass、key、phrase、および port に渡された値は無視されます。 この情報は、セッションの作成時に指定されます。

デフォルト: null

パスワード認証を使用する SSH セッションを使用して、ホストで対話型のコマンド ライン シェルを実行します。

run-SSHShell -host svr14 -user bob -pass xyz42 -prompt :>

明示的に SSH セッションを割り当てて、最初にコマンドを実行してからコマンド ラインの入力ループに入ります。

ssh=new-SSHSession -host client8 -user bob -pass xyz42 -prompt ::->
run-SSHCommand -session ssh -command "cd /"
run-SSHShell -session ssh
ssh.disconnect();

関連項目

new-SSHSession コマンド -- 安全な SSH セッションの新規作成(Funclet)

run-SSHCommand コマンド -- SSH(Funclet)を使用してリモート コマンドを実行する