iterm2에서 ssh 후 에코 명령 트리거


1

"ssh somehost"다음에 다음 명령을 트리거하려고합니다. export PROMPT_COMMAND='echo -ne "\033]0;$HOSTNAME\007"'

아무것도 작동하지 않는 것 같습니다, 어떤 제안?


아무것도 작동하지 않는 것 같습니까? 지금까지 뭐 해봤 어?
scai

글쎄, 나는이 트리거를 프로파일에 가지고있다 : imgur.com/2Zu74my 쉘 에코 테스트에서 실행할 때 명령이 트리거되지 않습니다.
Elad Kuzy

유닉스 시스템을 사용하는 경우에 연결 한 후 ssh root@MachineB 'bash -s' < local_script.sh컨텐츠를 실행 하도록 실행할 수 있습니다 . local_script.shMachineB
pzkpfw

답변:


0

나는 그것을 할 수 있다고 생각하지 않습니다.

우선 나는 당신의 명령을 다시 써야했습니다. 비록 이것이 당신이 얻고 자하는 것이 달성 될 수 없다는 사실 (나중에 보라)에 의해 무효화되지만, 그렇게하는 방법은 어느 정도 흥미롭고 일반적이므로, 나는 그것을 논의 할 것입니다. 나는 당신의 명령을

  ssh me@remote 'COLOR=("echo" "-ne" "\"\\033[48;5;95;38;5;214m\$HOSTNAME\033[0m\""); export PROMPT_COMMAND=${COLOR[@]}'

그 이유는 로컬 쉘이 $HOSTANMElocal값 으로 대체하는 것을 막을 필요가 있기 때문에 원격 서버에 전달하는 것은 작은 따옴표로 묶어야합니다 '. 이것이 작동 하려면 명령 내부에 작은 따옴표 가 없어야 하므로 원격으로 실행되도록 명령에 작은 따옴표가 나타나지 않도록 다시 작성해야했습니다. 나는 이것을 배열로 관리했다 COLOR. 명령

COLOR=("echo" "-ne" "\"\\033[48;5;95;38;5;214m\$HOSTNAME\033[0m\"") export PROMPT_COMMAND=${COLOR[@]}  

현지에서 잘 작동합니다 (색상 선택은 내 것입니다).

ssh를 통해 환경 변수를 내보내는 방법에는 두 가지가 있습니다. 먼저, AcceptEnv서버 /etc/ssh/sshd_config파일 에서 변수 를 변경할 수 있습니다 : 그러나 수동 상태

수락

클라이언트가 보낸 환경 변수가 세션의 환경에 복사 될 것을 지정합니다 .

여기에서 강조는에없는 세션 : 전역 변화.

두 번째 방법은 PermitUserEnvironment변수를 사용하는 것입니다.

허가 사용자 환경

Specifies whether ~/.ssh/environment and environment= options in
 ~/.ssh/authorized_keys are processed by sshd.  The default is
 "no".  Enabling environment processing may enable users to bypass
 access restrictions in some configurations using mechanisms such
 as LD_PRELOAD.

보시다시피 , 원격 사용자가 전역 환경 변수를 변경할 수 없도록ssh 주의 하십시오 .


매우 유익하고 깊은 답변에 감사드립니다. 그러나 나는 단지 물건을 에코하려고합니다. 아주 기본적인 것조차 작동하지 않습니다. 예를 들면 : trigger-test action-Run Command ... Parameters-echo hi가 작동하지 않습니다.
Elad Kuzy

@EladKuzy 작동하지 않는 명령에 대한 자세한 예를 들어 주시겠습니까? 당신이 시도한 정확한 명령입니다.
MariusMatutiae

imgur.com/lkCPmkX를 추가 한 마지막 트리거를 확인하십시오 . 그런 다음 bash에서 echo "hi"를 입력하여 테스트합니다. 다른 트리거가 작동 중입니다. "명령 실행 ..."작업 유형만으로 인해 문제가 발생합니다.
Elad Kuzy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.