SSH를 통해 원격 서버에 연결 [중복]

SSH를 통해 원격 서버에 연결 [중복]

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

SSH를 통해 원격 서버에 연결하고 싶습니다. 또한 이 스크립트에 비밀번호를 제공해야 합니다. 원격 서버에 연결한 후 서버 시작 스크립트를 실행하고 싶습니다. 예시를 제공해 주세요.

감사해요

답변1

Expect 도구를 사용하여 스크립트를 작성할 수 있습니다.

Redhat에서는 Expect 패키지가 기본값입니다. 하지만 우분투에서는 별도로 설치해야 합니다.

명령을 사용하여 다음을 확인할 수 있습니다.

$ rpm -qa | grep expect레드햇의 경우

$ dpkg -l expect우분투의 경우

다음 스크립트가 작업을 수행합니다.

#!/usr/bin/expect

spawn ssh username@hostname
expect "username@hostname's password: "
send "password\r"
interact
exec <path_of_init_script>

username로그인한 실제 사용자 이름( 호스트 이름 또는 IP 주소)은 어디에 있고 hostname, 비밀번호는 실제 비밀번호입니다.

이렇게 하면 상자에 로그인하여 스크립트를 실행할 수 있습니다.

관련 정보