SSH를 통해 원격 셸 스크립트를 실행하고 비밀번호가 필요한 스크립트의 명령과 함께 비밀번호를 묻는 메시지를 표시하려면 어떻게 해야 합니까?

SSH를 통해 원격 셸 스크립트를 실행하고 비밀번호가 필요한 스크립트의 명령과 함께 비밀번호를 묻는 메시지를 표시하려면 어떻게 해야 합니까?

나는 이런 것을하고 싶다

ssh [email protected] ./remote_script.sh

Remote_script.sh의 내용

#!/bin/bash
hg pull

이 예제는 제가 실제로 했던 것보다 훨씬 간단합니다. SSH를 통해 직접 쉘 명령을 전달할 수 있다는 것을 알고 있지만 원격 스크립트를 실행하고 싶다고 가정해 보겠습니다. 나는 또한 Mercurial에 후크가 있다는 것을 알고 있지만 그 내용도 무시합니다. 간결성을 위해 여기서는 Mercurial을 예로 사용하고 있습니다.

이것은 사용자에게 비밀번호를 묻는 메시지가 나타날 것으로 예상되는 상황입니다.

[email protected] password: 

출력은 다음과 같습니다.

ssh [email protected] ./remote_script.sh
remote: Permission denied, please try again.
remote: Permission denied, please try again.
remote: Permission denied (publickey,password).
abort: no suitable response from remote hg!

원격 셸 세션이 암호 프롬프트에 무언가를 입력하고 3번의 자동 시도 후에 실패한 것 같습니다. 저는 로컬 쉘 세션에 프롬프트를 표시할 수 있기를 정말로 원합니다. 어쩌면 그것은 불가능할 수도 있습니다.

저장소에 원격 서버 키 인증을 제공하고 싶지 않고 매번 사용자에게 메시지를 표시하고 싶습니다. 이를 수행할 수 있는 방법이 있습니까?

답변1

이 글만으로는 정확히 무슨 일이 일어나고 있는지 파악하기 어렵습니다. hg 명령이 비밀번호 프롬프트를 인쇄합니까(저는 hg에 익숙하지 않습니다)?

-tSSH에 옵션을 추가해 보시기 바랍니다 :

ssh -t [email protected] ./remote_script.sh

관련 정보