문제

셸 스크립트에서 ssh 명령을 사용하려고하면 명령이 그대로 있습니다.셸 스크립트에서 ssh 를 사용하는 방법에 대한 예가 있습니까?

도움이 되었습니까?

해결책

하고 싶은 작업과 사용 방법에 따라 다릅니다.다른 시스템에서 원격으로 안전하게 명령을 실행하려면 다음을 사용하십시오. 라코 디스

예 : 라코 디스

이 작업을 안전하게 수행하려면 런타임 중에 사용자에게 비밀번호를 요청하거나 원격 호스트에 키를 설정해야합니다.

다른 팁

먼저 암호없이 (공개 키 로그인) 설정했는지 확인해야합니다.구성 파일 형식이 약간 다른 두 가지 이상의 ssh 버전이 있습니다.시스템의 ssh 맨 페이지를 확인하거나 로컬 시스템 관리자에게 문의하거나 공개 키 인증은 어떻게 설정하나요? .

일괄 모드 (예 : 셸 스크립트 내)에서 ssh 를 실행하려면 실행할 명령어를 전달해야합니다.구문은 다음과 같습니다. 라코 디스

동시에 둘 이상의 명령을 실행하려면 따옴표와 세미콜론을 사용하세요. 라코 디스

셸 인터프리터에서 세미콜론을 보호하려면 따옴표가 필요합니다.생략하면 첫 번째 명령 만 원격으로 실행되고 나머지는 모두 로컬 컴퓨터에서 실행됩니다.

expect 명령을 사용하여 사용자 이름 / 비밀번호 정보를 채울 수 있습니다.

SSH 공개 키를 원격 호스트의 ~/.ssh/authorized_keys 파일에 넣어야합니다.그러면 암호없이 해당 호스트에 SSH를 사용할 수 있습니다.

또는 ssh-agent를 사용할 수 있습니다.스크립트에 비밀번호를 저장하지 않는 것이 좋습니다.

가장 쉬운 방법은 스크립트를 실행하는 사용자의 인증서를 사용하는 것입니다.

더 복잡한 것은 쉘 명령이 요구할 때 암호를 stdin에 추가하는 것을 의미합니다.Perl 라이브러리는 사용자에게 암호를 묻는 프롬프트를 표시 할 것으로 예상합니다 (최소한 대화 형인 경우). 많은 선택 사항이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top