시스템을 구축하고, 애플리케이션을 설치할 경우 사용 서버들끼리 ssh 접속을 할 때 주로 SSH key를 사용한다. 간단하게 스크립트를 만들어 빠르게 공개 키를 복사해보자.
필요한 정보
- SSH Key 생성 명령어: ssh-keygen
- SSH Key 복사 명령어: ssh-copy-id
- 접속할 서버 정보: IP, 접속 계정 및 패스워드
프로세스
- 접속할 서버 정보 및 SSH 키, 공개 키 경로를 변수에 저장한다
- SSH Key를 생성한다
- 생성한 SSH 공개 키를 해당 서버에 복사한다
#!/bin/bash
# 접속할 서버 정보, SSH 키 경로, 공개 키 경로를 변수에 저장
servers="host01 host02"
sshKey="$HOME/ .ssh/key.pem"
sshPub="$HOME/ .ssh/key.pem.pub"
# SSH Key 생성
ssh-keygen -q -N "" -f $sshKey
# 생성된 SSH Key를 해당 서버에 복사
for server in $servers
do
echo $server
sshpass -p "$1" ssh-copy-id -i $sshPub stack@$server
done
1. 홈 디렉터리 아래의. ssh 디렉토리에 SSH 키와 공개 키가 생성
2. for 문으로 서버 개수만큼 반복
3. 공개 키를 서버에 복사할 때 접속 확인 메시지를 무시하기 위해 sshpass, ssh-copy,id로 공개 키 복사
출처: 처음 배우는 셸 스크립트
'Linux' 카테고리의 다른 글
[Linux] 리눅스 인프라 구축하여 wordpress 사이트 운영하기 - 2 (1) | 2024.05.23 |
---|---|
[Linux] 리눅스 인프라 구축하여 wordpress 사이트 운영하기 - 1 (0) | 2024.05.23 |
[Linux] 리눅스 root 초기 비밀번호 설정, 비밀번호 모를 때 (0) | 2024.05.22 |
[Linux] 시스템 구축 - 사용자 계정 만들기 스크립트 (0) | 2024.05.21 |
[Linux] grep (0) | 2024.05.21 |