비밀번호 없는 SSH를 세 단계로 설정하기
"비밀번호 없는" SSH는 보안이 없다는 뜻이 아닙니다 ── 매번 비밀번호를 입력하는 대신 키로 로그인한다는 뜻입니다. 더 편리하고 더 안전하기도 합니다. 세 단계:키 쌍 생성, 공개 키를 서버에 복사, 그리고 (선택적으로) 비밀번호 로그인 끄기로 키만 작동하게 만듭니다. 아래는 전체 과정입니다.
1단계 — 키 쌍 생성하기
사용하는 컴퓨터에서 Ed25519 키를 만듭니다(현대적이고, 빠르며, 안전합니다 ── Ed25519 vs RSA 참조):
ssh-keygen -t ed25519 -C "you@example.com" Enter를 눌러 기본 위치를 받아들입니다. 패스프레이즈를 묻는데 ── 이것은 디스크의 개인 키를 암호화합니다. 진정한 원스텝 로그인을 위해 비워둘 수도 있지만, 패스프레이즈와 ssh-agent를 함께 쓰면 보안과 편의를 모두 얻습니다. 이렇게 하면 두 개의 파일이 생성됩니다:id_ed25519(개인 키 ── 절대 공유하지 마세요)와 id_ed25519.pub(공개 키 ── 서버에 둡니다).
2단계 — 공개 키를 서버에 복사하기
공개 키 부분은 서버의 ~/.ssh/authorized_keys에 있어야 합니다. 쉬운 방법은:
ssh-copy-id user@host 이 마지막 한 번 비밀번호를 묻고 키를 설치합니다. (ssh-copy-id가 없거나 Windows를 쓰시나요? 키 복사 전체 가이드를 참조하세요.) 이제 다시 연결하세요 ── ssh user@host로 비밀번호 없이 로그인되어야 합니다. 여전히 묻는다면 SSH가 여전히 비밀번호를 요구함을 참조하세요.
3단계 — 비밀번호 로그인 끄기(선택, 권장)
키 로그인이 작동하면, 비밀번호를 완전히 비활성화해서 무차별 대입 시도를 무의미하게 만들 수 있습니다. 서버의 /etc/ssh/sshd_config에서:
PasswordAuthentication no
PubkeyAuthentication yes 그런 다음 sudo systemctl restart ssh를 실행합니다. 중요:연결을 끊기 전에 별도의 세션에서 키 로그인이 작동하는지 확인하세요 ── 그렇지 않으면 실수 하나로 자신을 잠가버릴 수 있습니다. 이것을 root 로그인 비활성화 및 fail2ban과 결합하면 탄탄한 기준선이 됩니다.
왜 키가 비밀번호를 이기는가
키는 256비트 비밀이며 절대 서버로 전달되지 않습니다 ── 전달되는 것은 서명뿐입니다 ── 따라서 통신 경로상에서 피싱되거나 무차별 대입될 것이 아무것도 없습니다. 비밀번호는 추측될 수 있고, 봇은 매일 수백만 개의 비밀번호로 22번 포트를 두드립니다. 키 전용 인증에서는 그런 시도가 성공할 수 없습니다. 절충점에 대한 자세한 내용:SSH 키 vs 비밀번호.
휴대폰에서 비밀번호 없는 SSH
같은 모델이 모바일에서도 작동하며, 좋은 클라이언트는 그것을 하나의 흐름으로 만듭니다:TermAI는 기기 Keychain 안에서 Ed25519 키를 생성하고, 원탭 서버에 배포로 공개 키를 authorized_keys에 설치합니다 ── 터미널 없이 1단계와 2단계를 처리합니다. 그 후에는 키로 연결하므로, 터치 키보드에서 비밀번호를 입력할 필요가 없습니다.
자주 묻는 질문
비밀번호 없는 SSH는 어떻게 설정하나요?ssh-keygen -t ed25519로 키를 생성하고, ssh-copy-id user@host로 공개 키를 서버에 복사한 다음 다시 연결하세요 ── 키로 로그인되며 비밀번호가 필요 없습니다. 선택적으로 sshd_config에서 비밀번호 인증을 비활성화하세요.
비밀번호 없는 SSH는 안전한가요?
비밀번호보다 안전합니다 ── 키는 네트워크를 건너지 않으므로 피싱되거나 무차별 대입될 수 없습니다. 비밀번호 인증을 완전히 비활성화하면 무차별 대입 시도가 불가능해집니다.
키에 패스프레이즈를 넣어야 하나요?
이상적으로는 네 ── 그것은 디스크의 개인 키를 암호화합니다. ssh-agent를 사용하면 세션마다 한 번만 입력하고도 원스텝 로그인을 유지할 수 있습니다.
비밀번호를 비활성화하면 잠겨버리나요?
키 로그인이 먼저 작동하지 않았을 때만 그렇습니다. 비밀번호 인증을 비활성화하기 전에 항상 별도의 세션에서 키로 로그인할 수 있는지 확인하세요.
핵심 요약
- 세 단계:키 생성 → 공개 키를 서버에 복사 →(선택) 비밀번호 인증 비활성화
- 생성:
ssh-keygen -t ed25519 - 설치:
ssh-copy-id user@host - 강화:sshd_config에
PasswordAuthentication no(키 로그인 작동 확인 후) - 모바일:원탭 생성+배포(TermAI), 그 후 키 로그인
Free on iOS and Android. 5 AI requests/day on the free tier, plus unlimited SSH/SFTP and built-in Tailscale.