그래서 ClientA와 ServerB를 설정하고 ServerB가 백업 스크립트를 실행하도록 설정했다고 가정 해 보겠습니다. 지금 당면한 문제와 관련이없는 이유로 백업 스크립트는 ClientA에서 여러 bash 스크립트를 실행해야합니다. 이제 보안상의 이유로 ClientA에 "백업"사용자를 설정하고 ServerB가이 "백업"사용자로 ClientA에 로그인 할 수있게하는 키 쌍이 있습니다. 그러나 나는이 단계를 더 취하여 단일 스크립트에서만 작동하도록하고 싶습니다.ssh 키를 통해 bash 스크립트에 플래그를 전달
command="/backup.sh",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa A......
내 문제는 내가 ClientA 여러 번에서 스크립트를 실행하는 것입니다 때마다 나는 다른 플래그의 번호를 사용 : 여기
핵심이다. 그러나 SSH 키를 통해 이러한 플래그를 전달할 수 없습니다.$ ssh [email protected] "/backup.sh -b"
이 때문에 내가 ClientA에 설정 한 키의를 통해 -b 플래그를 통과하지 않습니다
그래서 다음과 같은 I 시도하고 실행 말할 수 있습니다. 내가 설정 한 ssh 키를 통해 플래그가 전달되도록하는 방법이 있습니까?
감사합니다.
이것에 대해 자세히 설명해 주시겠습니까? 나는 약간의 인터넷 검색을했고, 당신이 말하는 것처럼 아주 간단하게 보이지 않습니다. – KroniK907
강제 명령 프로세스의 환경에서는'SSH_ORIGINAL_COMMAND' 변수가 있어야합니다. 이 변수는 원래 요청한 명령의 내용을 포함해야합니다. '/backup.sh -b'를 사용하십시오. 이를 사용하여 원래 인수를 구문 분석 할 수 있어야합니다. –