리눅스(15) : ssh 원격 접속 터미널 구별 setting

NOHHYEONGJUN·2024년 9월 15일

리눅스

목록 보기
16/16

원격 접속 구분

하나의 PC를 통해 여러 서버에 접속하다 보니, 터미널에서 햇갈리는 경우가 많았다.
ubuntu의 bashrc , macos의 zshrc를 통해 터미널 상에서 구분되도록 설정해보겠다.


1. Ubuntu Server

 

  1. ubuntu server 접속

 

  1. bashrc 수정
vi ~/.bashrc
if [ "$color_prompt" = yes ]; then
    # 서버 구분을 위해 호스트 이름 부분의 색상을 변경
    # \033[01;31m\ 은 빨간색으로 변경합니다. 필요에 따라 색상 코드를 조정하세요.
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\[\033[01;31m\]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    # 색상을 지원하지 않는 경우 기본 프롬프트 사용
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# 선택적: 서버 연결 시 메시지 표시
echo -e "\033[0;31m현재 연결된 서버: $(hostname)\033[0m"

 

  1. bashrc 적용

    source ~/.bashrc

     

  2. 적용 확인


 

 


2. Mac OS

나는 Mac 1을 통해 Mac 2를 접속하는 경우가 많다.
터미널 세팅이 같아서 구분하기 힘들었다.
그래서 ssh로 접속했을 시, 터미널 설정을 다르게 해서 해결했다.

 

  1. zshrc 수정
vi ~/.zshrc
125 # prompt_context 함수
126 prompt_context() {
127   # Custom (Random emoji for local, fixed emoji for SSH)
128   emojis=("⚡️" "🔥" "🐭" "🐳" "🌸" "🦁" "🍳" "🦄" "🌈" "🍻" "🍭" "💡" "🎉" "🍖" "🧁" "🌙")
129
130   if [[ -n "$SSH_CLIENT" ]]; then
131     # SSH 연결인 경우 빨간색으로 표시하고 💻 이모지 사용
132     prompt_segment red default "HYEONGJUN 💻 SERVER "
133   else
134     # 로컬 머신인 경우 기존 설정 유지
135     RAND_EMOJI_N=$(( $RANDOM % ${#emojis[@]} + 1))
136     prompt_segment black default "HYEONGJUN ${emojis[$RAND_EMOJI_N]} "
137   fi
138 }
139
140 # 서버 연결 시 메시지 표시
141 if [[ -n "$SSH_CLIENT" ]]; then
142   echo "SSH로 연결됨: $(hostname)"
143 fi

 

  1. zshrc 적용
source ~/.zshrc

 

  1. 적용 확인


profile
Cloud/DevOps & Network Virtualization에 관심 있는 Engineer입니다. 🐳⚓️👨‍✈️

0개의 댓글