서버를 좀 더 쉽게 관리할 수 있는 방법을 찾아보려고 합니다. 내 스크립트를 서버에 복사하지 않고 모든 서버에서 사용할 수 있도록 하는 것이 가능한지 궁금합니다.
내 컴퓨터(클라이언트)에 위치하며,
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
.