Linux

ssh 비밀번호 로그인 막기 (key만 사용)

알 수 없는 사용자 2026. 4. 7. 21:00

보안을 위해, 비밀번호를 이용한 ssh 로그인을 막고 key pair만 이용하도록 하는 설정 방법이다.

중요! 이 설정을 마치고 적용까지 한 후에는 ssh private (secret) key 외에는 접속할 수가 없습니다.
반드시 별도의 shell을 열어서 ssh 로그인이 정상적으로 되는지 확인한 후에 마지막 ssh 세션을 닫으세요!

ssh key 발급 및 설정법은 여기여기를 참고.

1. 편집기로 설정 파일 열기

/etc/ssh/sshd_config

를 nano든 vim이든 본인에게 편한 편집기로 sudo 권한으로 연다.

2. 설정 파일 수정하기

여러 기본 설정 내용이 뜰 텐데, "Pass"라는 문자열을 검색해서
PasswordAuthentication no를 설정하면 된다.
노파심에 덧붙이자면, 앞에 #이 붙은 것들은 주석이니까
우리가 설정하는 것은 #을 빼고 작성해야 한다!

(전략)
# To disable tunneled clear text passwords, change to "no" here!
#PasswordAuthentication yes
PasswordAuthentication no
#PermitEmptyPasswords no
(후략)

3. 설정 파일 적용하기

Debian의 다른 많은 설정들처럼, 설정 파일을 저장한다고 해서 바로 적용되지 않는다.
아래 명령어를 입력해서 실제로 적용되게 하자.

sudo systemctl restart sshd

혹시 아래처럼 오류가 뜬다면, restart sshd 대신 restart ssh로 d를 빼고 명령하면 된다.

balatro@joker:~$ sudo systemctl restart sshd
[sudo] password for balatro:
Failed to restart sshd.service: Unit sshd.service not found.
balatro@joker:~$ sshd
sshd re-exec requires execution with an absolute path
balatro@joker:~$
sudo systemctl restart ssh