SSH를 사용하여 Host1과 통신하고 싶습니다.
호스트2에 대한 사용자 이름/비밀번호가 있고 쉘 스크립트를 통해 ssh를 사용하여 호스트2에 연결하고 싶다고 가정해 보겠습니다(사용자 이름과 비밀번호를 인수로 사용).
누군가가 동일한 쉘 스크립트 작성을 도와줄 수 있습니까?
답변1
비밀번호를 적어 두는 것은 좋은 생각이 아닌 것 같습니다. ssh
열쇠를 보세요 . 공개 키와 개인 키 쌍을 만들고 host1
여기에 공개 키를 복사하면 됩니다 host2
.여기그것을 수행하는 방법에 대한 튜토리얼입니다.
답변2
expect
시도해 보면 작동합니다. 작동하려면 설치해야 합니다 #!/bin/bash
HOSTS="VM2 VM3 VM4 VM1"
read -p "Password: " PASSWORD
for HOST in $HOSTS
do
expect -c "
your command
expect {
"*password:*" { send $PASSWORD\r;interact }
}
exit
"
done
답변3
ssh-agent
그리고 를 보세요 sshpass
.
그들이 당신의 문제를 해결하지 못했다면, 왜 그렇게 하지 않았는지 설명하십시오.
답변4
지속적인 SSH 통신을 원할 경우 autossh와 같은 유틸리티를 사용할 수 있습니다.