tmux 세션을 만들고, 세션에서 window를 구성하고, window 안에 pane에 대해서 요약
새로운 세션 시작하기
1 2
$ tmux #새로운 새션 $ tmux new -s session_name #session_name으로 새로운 세션
세션을 dettach하면 세션은 저장된다. 사용하지 않으면 kill로 종료한다.
세션 이용하기
1 2 3
$ tmux ls $ tmux list-session $ tmux list-windows # Window 목록
열린 세션에 붙기.
세션 번호중 낮은 번호에 우선해서 접속한다.
1 2 3
$ tmux attach $ tmux at $ tmux a
특정 세션에 접속하기
세션 번호 혹은 이름으로 접속한다.
1
$ tmux a -t session_name
세션 마감하기
1
$ tmux kill-session session_name
Tmux pane
Tmux로 접속한 session은 처음 한개의 Window를 갖는다. window 안에서 session, window, pane을 관리한다. 각 윈도우는 한 개 이상의 Pane 구획으로 나누어 사용할 수 있다.
Tmux window를 여러 분할면 pane으로 나눠 사용한다.
1 2 3 4 5 6 7 8 9 10 11
C-% # 수직으로 나누기 C-" # 수평으로 나누기 C-z # 현재 pane 확대 및 돌아오기 C-{ # 현재 pane을 이전 pane 위치로 이동 C-} # 현재 pane을 다음 pane 위치로 이동 C-Arrow # 앞,뒤 pane을 방향키로 이동 C-M+Arrow # pane 크기를 방향키에 따라 변경 C-spacebar # pane 방향 전환 (수직<->수평) C-! # 현재 pane을 새 window로 분리 C-x # 현재 pane을 종료 C-[ # pane에서 스크롤 기능을 활성화
Tmux copy & paste
tmux 는 자체 버퍼에 터미널에서 선택한 영역의 텍스트를 복사해서 사용할 수 있다.
1 2 3 4
C-[ # copy mode Ctrl+space # 복사할 영역을 선택한다. 터미널에 영역이 선택되어 보인다. Ctrl+w # 선택한 영역을 복사한다. C-] # 붙여 넣는다.
Tmux Window
현재 세션 이용
1 2
C-s #Session 목록 C-$ #Session 이름 변경
세션에서 여러 윈도우를 추가 해서 사용할 수 있다.
1
C-c #새로운 윈도우 생성
여러 윈도우는 윈도우 순서에 따라 현재 윈도우 화면을 교환 할 수 있다.
1 2 3 4 5 6 7
C-w #윈도우 목록 C-1 ... #지정 윈도우 번호로 전환: 0,1,... C-p #이전 윈도우로 이동 C-n #다음 윈도우로 이동 C-l #가장 마지막 윈도우로 이동 C-, #현재 윈도우 이름 변경 C-& #현재 윈도우 제거
현재 세션에서 나온다. 세션은 백그라운드에서 실행된다.
1 2
C-d #현재 세션을 빠져 나온다 (detach) C-D #빠져나올 세션을 선택할 수 있다.
detach 는 외부 터미널에서 tmux detach 를 실행하면 현재 tmux 세션이 분리된다.
Session transition
Tmux window 상태에서 여러 세션 사이의 전환 단축키;
1 2 3 4 5
C-$ # 현재 세션 이름 바꾸기 C-( # 이전 세션으로 전환 C-) # 다음 세션으로 전환 C-L # 사용한 세션중 마지막 세션으로 전환 C-s # 사용 가능한 세션 목록
단, 시스템 버퍼는 별도의 플러그인을 사용한다.
재미있는 설정
마우스 모드 활성화
설정에 mouse mode 활성화를 .tmux.conf 설정으로 지정.
1
set -g mouse on
설정을 탑재하면 1. 마우스 드래그로 선택한 버퍼 복사 2. Shift 마우스 드래그로 일반 Copy 수행.
버퍼 크기
1 2
# scrollback buffer size increase set -g history-limit 100000
Pane 이동
M 와 방향키로 바인딩해서 prefix 없이 사용.
1 2 3 4 5
# Use Alt-arrow keys without prefix key to switch panes bind -n M-Left select-pane -L bind -n M-Right select-pane -R bind -n M-Up select-pane -U bind -n M-Down select-pane -D
상태바 컬러
1 2 3
# bar color set -g status-bg black set -g status-fg white
ssh-keygen 명령으로 SSH 키를 생성할 때 rsa와 ED25519는 서로 다른 암호화 알고리즘을 사용하며, 각각 장단점이 있습니다.
1. RSA (Rivest-Shamir-Adleman)
역사 및 범용성: RSA는 매우 오래되고 널리 사용되는 공개 키 암호화 알고리즘입니다. 오랫동안 SSH 키의 표준으로 사용되어 왔으며, 대부분의 시스템과 호환됩니다.
키 크기: RSA 키는 가변적인 길이를 가집니다. 일반적으로 보안을 위해 2048비트 또는 4096비트를 권장합니다. 키 길이가 길어질수록 보안은 강해지지만, 연산 속도는 느려집니다.
보안: 충분히 긴 키 길이 (예: 2048비트 이상)를 사용하면 현재로서는 안전하다고 여겨지지만, 양자 컴퓨터의 발전 등 미래의 위협에 대한 우려가 있습니다.
성능: 키 길이가 길어질수록 키 생성, 서명 및 검증 작업이 느려질 수 있습니다.
2. ED25519 (Edwards-curve Digital Signature Algorithm)
기반 기술: ED25519는 타원 곡선 암호화(ECC)의 일종인 Edwards-curve Digital Signature Algorithm을 기반으로 합니다. OpenSSH 6.5에서 도입되었습니다.
보안: ED25519는 더 작은 키 크기로도 RSA와 동등하거나 더 높은 수준의 보안을 제공합니다. 예를 들어, ED25519의 256비트 키는 RSA 3000비트 키와 비슷한 보안 강도를 가집니다. 특정 암호화 공격(예: PRNG(Pseudo-Random Number Generator) 실패)에 더 강력하다고 알려져 있습니다.
성능: 키 생성, 서명 및 검증 작업이 RSA보다 훨씬 빠르고 효율적입니다. 이는 로그인 시간 단축 등 전반적인 사용자 경험 개선으로 이어질 수 있습니다.
키 크기: ED25519 키는 고정된 256비트 크기를 가지므로 RSA 키보다 훨씬 짧습니다. 이 때문에 키를 관리하고 공유하는 데 더 효율적입니다.
호환성: 비교적 최신 알고리즘이므로, 매우 오래된 시스템이나 특정 환경에서는 지원되지 않을 수도 있습니다. 하지만 최신 시스템에서는 널리 지원됩니다.
주요 차이점 요약:
특징
RSA
ED25519
기반
정수 분해 문제
타원 곡선 암호화 (ECC)
키 크기
가변 (2048, 4096비트 등 권장)
고정 (256비트)
보안
충분히 길면 안전하지만, 미래 위협 우려
작은 키로도 높은 보안성, 특정 공격에 강함
성능
키 길이에 따라 느려질 수 있음
빠르고 효율적
호환성
매우 광범위
최신 시스템에서 널리 지원, 일부 구형 시스템 제한
어떤 것을 사용해야 할까요?
특별한 이유가 없다면 ED25519를 권장합니다. 더 나은 보안성과 성능을 제공하며, 대부분의 최신 환경에서 문제없이 사용할 수 있습니다.
레거시 시스템과의 호환성이 중요하거나, ED25519를 지원하지 않는 환경이라면 RSA를 사용해야 합니다. 이 경우 최소 2048비트, 가능하다면 4096비트 키를 사용하는 것이 좋습니다. Windows 또는 VMware 이미지와 같은 특정 환경에서는 ED25519가 지원되지 않을 수 있습니다.
결론적으로, 현재 대부분의 SSH 키 생성에는 ED25519가 권장되는 최신, 안전, 고성능 옵션입니다.