web-dev-qa-db-ja.com

クライアント側に含まれるリモートサーバーでスクリプトを実行する

サーバーをより簡単に管理する方法を見つけようとしています。スクリプトをサーバーにコピーせずに、すべてのサーバーで使用できるようにすることができるかどうかを知りたいのですが。

それらは私のコンピューター(クライアント側)にあります、

bash-3.2$ ls -l my_local_script
-rwxr--r--  1 mario  staff  554 Jan  9 13:35 my_local_script

私は常にSSHを使用してターミナルでリモートログインします

bash-3.2$ ssh [email protected]
[email protected]'s password:
[root@prodsrvr00 ~]#

サーバーにログインしたら、サーバーにコピーせずにローカルで利用できるようにスクリプトを実行する方法があるかどうかを知りたいです。

[root@prodsrvr00 ~]# my_local_script

NATネットワークであるため、SSHで自分のコンピューター(クライアント)に戻すことができません。

4
mrgamertag

リモートサーバーにログインした後にこれを行うには、次の手順を実行します。

ssh <local_machine_where_script_resides> "cat <Full_path_to_my_local_script>" | bash

「bash」をスクリプトに必要なインタプリタに置き換えます(I wouldn't recommend this way and prefer below)

リモートマシンにログインせずにこれを行う方法があります。

ssh <remote_machine> "bash -s" -- < ./my_local_script "Arg1" "Arg2"

あなたの場合、それは次のとおりです。

ssh [email protected] "bash -s" -- < ./my_local_script "Arg1" "Arg2"

puppetchefansibleなどのオプションも調べることをお勧めします。

5
VanagaS