[Linux] SSH 접속 - OTP 적용 with Shell Script/Ansible
·
OS&Server/Linux
비밀번호나 키를 이용해 서버에 접속하지만 이것만으로는 보안성이 높지 않다. 그래서 OTP를 설정하려고 한다.나는 여러 대 서버에 일괄적으로 적용하기 위해 Shell Script나 Ansible을 이용하려고 한다. 내가 사용하는 OS는 Rocky Linux 9.7이다. Rocky 9버전과 Rocky 8버전은 google authenticator 설정 방법에 조금 차이가 있기 때문에 8버전은 다른 자료를 참고하길 바란다. 먼저 단계별로 설명하고 마지막에 Shell Script와 Ansible playbook을 작성하겠다.1️⃣패키지 설치google authenticator를 사용하기 위해서는 다음 명령어를 사용해 필요한 패키지를 설치하면 된다.sudo dnf insatll epel-release google..
[Linux] Rocky Linux 설치
·
OS&Server/Linux
Rocky Linux 기반 VMware 가상머신 생성 방법과 WSL로 배포하는 방법에 대해 설명하겠다.먼저 Rocky Linux 기반 VMware 가상머신 생성 방법에 대해 설명하겠다.Rocky Linux 기반 VMware 가상 머신 생성1. ISO 다운로드https://rockylinux.org/ko-KR/download Download - Rocky Linux다운로드 최신 로키 리눅스 설치 관련 있는 Rocky Linux를 다운로드하고 사용하면서 Rocky Enterprise Software Foundation은 기여자로서 커뮤니티의 일원이 되도록 초대합니다. 문서화, QA, 테스트부터 SIG의rockylinux.org먼저 사용하고자 하는 OS 이미지를 위 사이트에서 다운받는다. 나는 Rocky Li..
[Linux] Shell Script를 이용하여 네트워크 IP 설정
·
OS&Server/Linux
필요한 정보# 데비안 계열에서 네트워크 설정 방법18.04 LTS 버전부터 netplan 파일 설정으로 변경# 페도라 계열에서 네트워크 설정 방법8 버전부터 nmcli 명령어를 이용하여 설정# 네트워크 IP 설정 시 필요한 정보들Network Interface NameIP/CIDRGatewayDNS스크립트#!/bin/bashostype=$(cat /etc/*releas | grep ID_LIKE | sed "s/ID_LIKE=//;s/\"//g")echo "=== Network Devices ==="ip a | grep '^[0-9]' | awk '{print $1" " $2}' | grep -v -e 'lo' -e 'v' -e 't'read -p "Please input network interface..
[Linux] Shell Script를 이용하여 패키지 리포지토리 다운로드
·
OS&Server/Linux
더보기더보기처음 배우는 셸 스크립트 책 참고패키지 리포지토리 다운로드회사 내부에 패키지를 설치하는 경우가 많다고 함. ➡️ 인터넷이 되는 DMZ 구간의 서버에서 외부 리포지토리와 내부 리포지토리를 정기적으로 동기화해야 함.필요한 명령어# 패키지 리포지토리 동기화 명령어reposync# 디렉토리 리포지토리화하는 명령어createrepo스크립트#!/bin/bashrepolist=$1repopath=/var/www/html/repo/osversion=$(cat /etc/redhat-release | awk '{print $(NF-1)}')if [[ -z $1 ]]then echo "Please input repository list. You can get repository from [yum re..
[Linux] Shell Script를 이용하여 Timezone 설정
·
OS&Server/Linux
더보기더보기처음 배우는 셸 스크립트 책 참고다수의 서버에 Timezone 설정필요한 명령어# Timezone을 확인하기 위한 명령어datetimectl staus# Timezone을 설정하기 위한 명령어dateimectl set-timezone스크립트#!/bin/bashservers="host01 host02 host03"cmd1="timedatectl status | grep 'Time zone'"cmd2="timedatectl set-timezone $1"if [[ -z $1 ]] || [[ -z $1 ]]then echo -e 'Please input timezone and password\nUsage: sh set-timezone.sh Seoul/Asia password'fifor s..
[Linux] Shell Script을 활용하여 SSH 키 복사
·
OS&Server/Linux
더보기처음 배우는 셸 스크립트 책 참고책에서 bash를 사용하므로 sh가 아닌 bash로 실행서버가 1~2대 라면 괜찮지만 3대 이상이면 매우 번거로워진다. 이때 shell script를 만들어 사용하면 쉽고 빠르게 ssh 공개 키를 여러 서버에 복사할 수 있다.ssh 키를 복사하려면 ssh 키를 먼저 생성한 후 여러 서버에 복사해야 한다.어떤 계정으로 키를 복사할지 여부와 해당 계정의 패스워드를 알고 있어야 한다.스크립트#!/bin/bash# 접속할 서버 정보, SSH 키 경로, 공개 키 경로를 변수에 저장servers="host01"sshKey="$HOME/.ssh/key.pem"sshPub="$HOME/.ssh/key.pem.pub"# SSH 키 생성ssh-keygen -q -N "" -f $ssh..