본문 바로가기

리눅스

[스크립트] SSH 공개 키를 복사하는 스크립트

728x90

SSH 공개 키를 복사하는 스크립트

  • ssh-copy-id 명령어를 사용하여 공개 키를 복사
ssh-copy-id vagrant@172.19.0.11
  • sshpass 유틸리티를 사용하여 한 줄로 패스워드를 입력
echo "your_password" | sshpass -p your_password ssh-copy-id vagrant@172.19.0.11

스크립트 작성

vim copy_ssh_keys.sh
#!/bin/bash

# 서버 목록
server_list=("172.19.0.11" "172.19.0.12" "172.19.0.13" "172.19.0.14" "172.19.0.15")

# 사용자 이름과 패스워드
user_name="vagrant"
user_password="vagrant"

# sshpass 설치 확인
if ! command -v sshpass &> /dev/null; then
    echo "sshpass가 설치되어 있지 않습니다. 먼저 설치하세요."
    exit 1
fi

# 각 서버에 대해 SSH 공개 키 복사
for server in "${server_list[@]}"; do
    echo "$user_password" | sshpass -p "$user_password" ssh-copy-id "$user_name@$server"
done
chmod +x copy_ssh_keys.sh

 

참고URL

- 변군이글루 블로그 : sshpass 명령어

 

728x90