스크립트를 사용하여 VM1에서 VM2로 로그인하는 방법은 무엇입니까?

스크립트를 사용하여 VM1에서 VM2로 로그인하는 방법은 무엇입니까?

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

관련 정보