클라이언트가 포함된 원격 서버에서 스크립트를 실행합니다.

클라이언트가 포함된 원격 서버에서 스크립트를 실행합니다.

서버를 좀 더 쉽게 관리할 수 있는 방법을 찾아보려고 합니다. 내 스크립트를 서버에 복사하지 않고 모든 서버에서 사용할 수 있도록 하는 것이 가능한지 궁금합니다.

내 컴퓨터(클라이언트)에 위치하며,

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로 다시 연결할 수 없습니다.

답변1

원격 서버에 로그인한 후 이를 수행하려면:

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"

puppet또한 , 와 같은 chef옵션을 살펴보는 것이 좋습니다 ansible.

관련 정보