중복 가능성:
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
, 비밀번호는 실제 비밀번호입니다.
이렇게 하면 상자에 로그인하여 스크립트를 실행할 수 있습니다.