SSH 키 기반 인증 설정 (윈도우, VS Code)
목적: 원격 서버에 비밀번호 없이 안전하게 접속하기 위해 SSH 키 기반 인증 설정
1. 윈도우(클라이언트)에서 키 생성하기
1
| ssh-keygen -t ed25519 -C "windows-pc"
|
- “Enter file in which to save…”: 그냥 Enter
- “Enter passphrase…”: 그냥 Enter
2. 공개 키 복사하기
1
| Get-Content ~\.ssh\id_ed25519.pub
|
- 화면에
ssh-ed25519 AAAA... 로 시작하는 긴 문자열을 전체 복사(Ctrl+C)
3. 원격 서버(리눅스)에서 공개 키 등록하기
1
2
| mkdir -p ~/.ssh
echo "아까_복사한_내용_붙여넣기(Ctrl+V)" >> ~/.ssh/authorized_keys
|
- echo 뒤에 따옴표(“)를 열고 붙여넣은 뒤 따옴표를 닫으면 됨
- 권한 설정: 권한이 너무 열려 있으면 SSH가 보안상 키를 무시하므로, 아래 명령어를 실행해야 함
1
2
| chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
|
4. VS Code SSH Config 파일 수정
1
2
3
4
| Host my-server
HostName 192.168.0.100 (실제 서버 IP)
User ubuntu (서버 유저 ID)
IdentityFile ~/.ssh/id_ed25519
|
Zsh (Z Shell) + Oh My Zsh
목적: 기본 bash 셸보다 향상된 기능과 사용자 경험 제공
1. Zsh 설치
1
2
| sudo apt update
sudo apt install zsh -y
|
2. Oh My Zsh 설치
1
| sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
|
- 기본 쉘을 Zsh로 바꾸고 싶다면 설치 중간에 기본 쉘을 zsh로 변경할지 묻는다면 ‘y’ 입력
3. 필수 플러그인 2개 설치
zsh-syntax-highlighting: 명령어 구문 강조zsh-autosuggestions: 명령어 자동 완성
1
| git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
|
1
| git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
|
4. 설정 파일에 적용
plugins=(git) 부분을 찾아서 다음과 같이 수정
1
| plugins=(git zsh-syntax-highlighting zsh-autosuggestions)
|
- 저장 후 종료 (Ctrl+X, Y, Enter)
fzf
목적: 명령어 라인에서 파일 및 디렉토리 탐색을 빠르게 하기 위해 fzf 설치
1. fzf 설치
1
2
| git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
|
2. 사용법
- 파일 탐색:
Ctrl + T - 명령어 히스토리 검색:
Ctrl + R
bat (cat 대체)
목적: 향상된 파일 내용 출력 기능 제공
1. bat 설치
1
2
| sudo apt update
sudo apt install bat -y
|
- 설치 확인:
batcat --version 입력 후 버전 정보 출력되면 성공
2. Aliases 설정
1
2
3
4
5
6
7
8
| nano ~/.zshrc
# 아래 내용 입력
alias cat='batcat'
# 저장 후 종료 (Ctrl+X, Y, Enter)
# 설정 적용
source ~/.zshrc
|
3. cat 작동 확인
eza (ls 대체)
목적: 향상된 디렉토리 및 파일 목록 출력 기능 제공
1. eza 설치
1
2
3
4
5
6
7
8
9
10
11
12
| sudo apt update
sudo apt install -y gpg
sudo mkdir -p /etc/apt/keyrings
wget -qO- https://raw.githubusercontent.com/eza-community/eza/main/deb.asc | sudo gpg --dearmor -o /etc/apt/keyrings/gierens.gpg
echo "deb [signed-by=/etc/apt/keyrings/gierens.gpg] http://deb.gierens.de stable main" | sudo tee /etc/apt/sources.list.d/gierens.list
sudo chmod 644 /etc/apt/keyrings/gierens.gpg /etc/apt/sources.list.d/gierens.list
sudo apt update
sudo apt install -y eza
|
- 설치 확인:
eza --version 입력 후 버전 정보 출력되면 성공
2. Font 설정
- eza에서 아이콘을 제대로 표시하려면 Nerd Font 설치 필요
- 원격으로 접속했다면 클라이언트 PC에 Nerd Font 설치 필요
- Nerd Font 설치 및 터미널 폰트 설정 방법은 여기 참고
- 아래는 Linux에서 Meslo Nerd Font 설치 예시
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| # 1. 폰트 저장할 폴더 생성
mkdir -p ~/.local/share/fonts
# 2. Meslo Nerd Font 다운로드 (가장 호환성 좋음)
cd ~/.local/share/fonts
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/Meslo.zip
# 3. 압축 풀기 (unzip이 없다면 'sudo apt install unzip' 먼저 실행)
unzip -o Meslo.zip
# 4. 다운로드한 압축 파일 삭제 (청소)
rm Meslo.zip
# 5. 시스템에 폰트 캐시 갱신 (폰트 등록)
fc-cache -fv
|
- VS Code
Ctrl + , (설정 열기)- 검색창에
terminal font 입력 Terminal > Integrated: Font Family 항목에 MesloLGS Nerd Font라고 입력
tmux
목적: 터미널 멀티플렉서로 여러 터미널 세션을 하나의 창에서 관리
1. tmux 설치
1
2
| sudo apt update
sudo apt install tmux -y
|
2. 기본 개념
- 세션(Session): tmux의 가장 상위 개념, 여러 창(Window)을 포함
- 창(Window): 세션 내에서 여러 패널(Pane)을 포함
- 패널(Pane): 창 내에서 실제 터미널이 실행되는 영역
3. 실전 명령어 & 단축키
- 모든 단축키는
Ctrl + b를 먼저 누른 후 실행
세션 관리
- 새 세션 생성:
tmux new -s 세션이름 - 세션 목록 보기:
tmux ls - 최근 세션 접속:
tmux attach - 세션에 접속:
tmux attach -t 세션이름 - 세션 강제 종료:
tmux kill-session -t 세션이름
화면 분할
- Prefix (
Ctrl + b) 누른 후:- 수평 분할:
% - 수직 분할:
" - 현재 화면 닫기:
x - 분할 화면 간 이동: 방향키
윈도우(탭) 관리
- Prefix (
Ctrl + b) 누른 후:- 새 창 생성:
c - 창 간 이동:
n (다음), p (이전) - 창 목록 보기:
w - 현재 창 닫기:
&
기타 필수 기능
- Prefix (
Ctrl + b) 누른 후:- 세션 유지한 채 나가기 (detach):
d - 스크롤 모드 진입 (방향키로 이동,
q로 종료): [
4. 마우스 설정
- 저장 후 종료 (Ctrl+X, Y, Enter)
1
2
3
| # session이 없으면 에러가 나오는데, 무시해도 됨
# session 만들면 자동 적용됨
tmux source-file ~/.tmux.conf
|
추천 Aliases 설정
목적: 자주 사용하는 명령어를 짧게 줄여서 입력하기 위해 Aliases 설정
1. 설정 파일 열기
2. 자주 사용하는 Aliases 추가
1
2
3
4
5
6
7
8
9
| # Aliases
alias cat='bat'
alias ls='eza --icons --git'
alias ll='eza -l --icons --git -a'
alias c='clear'
alias h='history'
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
|
3. 설정 적용