원ᅄ1; 호스트에 ssh/196; /196;긴Ȣ16;1648; 않고 원ᅄ1; 명/161;1012; 수행할 ᅆ1;우
ssh user@remote "command" 형태/196; 사용Ȣ16;lj16; ,163;1060; 1068;0152;1201;1060;나 복1105;한 명/161;1012; 수행 시 1452;1032;가 필요Ȣ16;다.
multi-line, multi-command1008; 물론1060;,144;니와 160;특7176; 대상 서버1032; 1312;,148;에 따라 특1221; 명/161;1012; 수행Ȣ16;기 위해 sub-shell1012; 사용해야할 필요가 1088;1452; 1080;다.
hvdev-jbs-was01 hvdev-jbs-was02 |
서버목/197;1012; NJ12;고1080;lj16;파1068;1064;데 한1460;에 Ȣ16;나씩 1201;Ǻ12;1456;다
multi-line ssh 명/161; 실행1032; 예시
#!/bin/bash 160; for server in $( 160; 160; ssh opradm@${server} << EOF 160; 160; 160; 160; KEY_COUNT=\$(cat /home/www/.ssh/authorized_keys | grep "Tower Machine Key" | wc -l) 160; 160; 160; 160; if [ ! -f /home/opradm/.ssh/authorized_keys && "\${KEY_COUNT}" = 0 ]; then 160; 160; 160; 160; 160; 160; sudo mkdir -p /home/www/.ssh 160; 160; 160; 160; 160; 160; sudo chmod 700 /home/www/.ssh 160; 160; 160; 160; 160; 160; sudo chown www:www /home/www/.ssh 160; 160; 160; 160; 160; 160; sudo bash -c "echo '...' > /home/www/.ssh/authorized_keys 160; 160; 160; 160; 160; 160; sudo chmod 600 /home/www/.ssh/authorized_keys 160; 160; 160; 160; 160; 160; sudo chown www:www /home/www/.ssh/authorized_keys 160; 160; fi EOF done |
Command Substitution
$(...), '...', $(< ... )
$() vs \$()
$(...)1008; remote 서버가 아닌 lcoal 서버에서 sub-shell 실행한다. 그러므/196; 0152;드시 escape 처리를 Ȣ16;여 \$(...) 형태/196; 사용한다.
sudo bash -c "..."
pipe 또lj16; redirection1012; 사용한 명/161;1012; sudo/196; 실행Ȣ16;기 위해서lj16; 0152;드시 "sudo bach -c"를 사용한다.