C.W.K.
Stream
Lesson 01 of 12 · published

SSH 란?

~15 min · ssh, openssh, encryption, telnet

Level 0Pinger
0 XP0/101 lessons0/12 achievements
0/150 XP to next level150 XP to go0% complete

Plaintext 를 대체한 프로토콜

SSH(Secure Shell) 는 어떤 네트워크 — 적대적인 네트워크 포함 — 위에서든 원격 컴퓨터의 터미널을 마치 그 앞에 앉아 있는 것처럼 조작하게 해주는 암호화 프로토콜이야. telnet(비밀번호까지 평문으로 흘려보내서 sniffer 한테 다 보여주던) 을 대체했어. SSH 는 세션 전체 — 자격증명, 명령, 출력 — 다 암호화.

SSH 가 실제로 주는 것

  • 원격 터미널 접속 — 다른 머신의 셸, 로컬과 구분 안 가게.
  • 파일 전송 — SCP, SFTP, rsync-over-SSH 다 같은 암호화 채널 위에서.
  • Port forwarding — 임의 TCP 를 SSH 로 터널링 (Track 3).
  • 인증 — 비밀번호 (약함) 또는 키 기반 (강함, 이 트랙 나머지).

OpenSSH — 모든 곳에 같이 오는 구현체

표준 구현체는 OpenSSH. OpenBSD 에서 태어났고 macOS, 모든 Linux 배포판, 요즘 Windows 에 다 번들. 현재 시리즈 (OpenSSH 10.x) 는 post-quantum key exchange (sntrup761x25519, mlkem768x25519) 를 기본으로 추가했고 DSA 지원 완전 제거. 기본값이 좋아 — 거의 안 건드려도 됨.

SSH 기본은 포트 22. 서버 쪽이 sshd(데몬). 클라이언트는 ssh.

Code

내 SSH 스택 점검·bash
# Client version
ssh -V

# Is SSH server running on this Mac?
sudo systemsetup -getremotelogin

# Enable SSH server (macOS — also: System Settings > General > Sharing > Remote Login)
sudo systemsetup -setremotelogin on

# Linux equivalent
sudo systemctl status ssh
sudo systemctl enable --now ssh

External links

Exercise

접근 가능한 모든 머신에서 ssh -V 돌리고 OpenSSH 버전 적어. 9.0 보다 옛날 거면 업그레이드 표시. 그다음 이 맥에 Remote Login 켜 (System Settings 또는 위의 systemsetup 명령), 터미널에서 SSH: ssh $(whoami)@localhost. 첫 연결이 fingerprint 물음 — yes. 한 머신에서 SSH end-to-end 한 번 써봤네.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.