VM1에서 내 VM2에 로그인하기 위해 스크립트를 사용하고 있습니다(VM2의 비밀번호: fifa).
for i in {a..z}{a..z}{a..z}{a..z}
do
# $i as a password
ssh root@ipaddress
read i
echo $i
done
조금 작동하지 않습니다. 항상 내 비밀번호를 묻습니다. 자동으로 비밀번호를 입력하게 하려면 어떻게 해야 하나요?
답변1
read i
해당 명령문이 루프 변수를 파괴하기 때문에 "비밀번호"를 묻습니다 for
. 나는 ssh 클라이언트가 tty에서 읽으려고 시도하고 있다고 생각합니다. ssh에 비밀번호를 전달하는 직접적인 방법을 모르겠습니다. 대안으로는 sshpass 및 Expect가 있습니다. 바라보다일반 텍스트 비밀번호를 매개변수로 사용하여 SSH 로그인을 하시겠습니까?그리고https://stackoverflow.com/questions/233217/pass-password-to-su-sudo-ssh그리고https://stackoverflow.com/questions/12118308/command-line-to-execute-ssh-with-password-authentication