반응형
SSH 로그인 시 비밀번호 없이 SSH 키로만 로그인하려면, SSH 키를 생성하여 서버에 추가하고, SSH 서버 설정을 수정하여 키 기반 인증만 허용하면 됩니다. 다음 단계를 따라 설정할 수 있습니다.
1. SSH 키 생성 (비밀번호 없이 생성)
로컬 컴퓨터에서 다음 명령어를 실행하여 SSH 키를 생성합니다. 비밀번호 없이 로그인하려면 프롬프트에서 비밀번호 설정 없이 엔터 키를 두 번 누릅니다.
ssh-keygen -t rsa -b 2048 -f ~/.ssh/my_key -N ""
-t rsa
: RSA 형식의 키를 생성-b 2048
: 키 길이를 2048 비트로 지정-f ~/.ssh/my_key
: 생성된 키 파일을~/.ssh/my_key
위치에 저장-N ""
: 비밀번호 없이 생성
2. 공개 키를 서버에 복사하기
생성한 공개 키를 SSH 접속할 서버의 ~/.ssh/authorized_keys
파일에 추가합니다. 이를 위해 ssh-copy-id
명령어를 사용하면 편리합니다.
ssh-copy-id -i ~/.ssh/my_key username@server_ip
-i ~/.ssh/my_key
: 로컬에서 사용할 키 파일을 지정username@server_ip
: 접속할 서버의 사용자 이름과 IP 주소
ssh-copy-id
가 작동하지 않거나 수동으로 설정하려면 다음 명령어로 직접 복사할 수도 있습니다.
cat ~/.ssh/my_key.pub | ssh username@server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
3. SSH 설정 파일 수정 (서버 측)
서버에서 SSH 설정 파일을 수정해 키 기반 인증만 허용하고, 비밀번호 인증을 비활성화합니다.
서버에 접속한 후, sshd_config
파일을 엽니다.
sudo nano /etc/ssh/sshd_config
다음 두 항목을 확인하고 설정합니다.
PasswordAuthentication no
PubkeyAuthentication yes
PasswordAuthentication no
: 비밀번호 인증 비활성화PubkeyAuthentication yes
: 키 기반 인증 활성화
설정을 마친 후, SSH 서비스를 재시작합니다.
sudo systemctl restart ssh
4. SSH 키로 서버에 로그인
이제 로컬 컴퓨터에서 서버에 비밀번호 없이 로그인할 수 있습니다. 로그인할 때 생성한 키 파일을 명시하여 로그인합니다.
ssh -i ~/.ssh/my_key username@server_ip
이렇게 설정하면 키 기반 인증으로만 로그인할 수 있어 보안도 강화되고 비밀번호 없이 편리하게 로그인할 수 있습니다.
반응형
'개발 도구 > ssh' 카테고리의 다른 글
[ SSH ] ssh - config 설정해서 원하는 이름으로 로그인 하기 (1) | 2024.10.31 |
---|---|
[ SSH ] ssh-keygen - PEM 포맷으로 Key 생성하기 (1) | 2024.10.31 |
[ SSH ] SSH Sever 설치하기 - 추가 보안 (0) | 2024.06.20 |