
스크립트가 호스트 파일처럼 작동하도록 하는 방법이 있습니까?
그래서 나는 말하고 싶다
./test1
서버 이름이 무엇인지 물었고 "server1"을 입력했습니다. 스크립트는 파일에서 IP 주소를 가져와 ssh를 통해 연결했습니다. sshpass로 작동하도록 관리했지만 IP 없이는 작동하지 않았습니다!
while read -p 'Enter the ip address for the server: ' ip_addr && [[ -z "$ip_addr" ]] ; do
echo " please, no blank IP address!"
sshpass -p "$password" ssh -o StrictHostKeyChecking=no $ip_addr "x=$y" /bin/bash << "EOF"
sudo su - $x
답변1
다음을 시도해 보십시오:
- SSH를 통해 연결하려는 모든 호스트가 포함된 텍스트 파일을 만듭니다.
- 파일을 한 줄씩 읽고 거기에서 일부 작업을 수행합니다.
텍스트 파일:
host1 #comment
host2 # also comment
host3 # # # it does not matter whats after the hostname
스크립트:
cat Textfile | while read srv comment do;
sshpass -p "$password" ssh -o StrictHostKeyChecking=no USER@${srv} "COMMANDS"
done
암호화의 경우: 비밀번호를 공개 키 인증으로 바꾸는 것을 고려해야 합니다. 작동하려면 다음이 필요합니다.
- 로컬 SSH 키 쌍을 생성하려면 "ssh-keygen..."을 사용하세요.
- "ssh-copy-id .."를 사용하여 원격 시스템 인증 키에 공개 키를 추가합니다.