Post

ssh-keygen 두 PC 간 비밀번호 없는 접속 설정

ssh-keygen 두 PC 간 비밀번호 없는 접속 설정

두 PC 간 비밀번호 없이 SSH 접속하는 방법


🔑 전체 흐름

 PC APC B
PC A에서 key 생성ssh-keygen -t rsa -b 4096 -C “key_of_PC_A” 
생성된 개인키~/.ssh/id_rsa 
생성된 공개키~/.ssh/id_rsa.pub 
공개키를 PC B에 등록ssh-copy-id -i ~/.ssh/id_rsa.pub ID_of_PC_B@IP_of_PC_B 
PC B 권한 설정 chmod 700 ~/.ssh
PC B 권한 설정 chmod 600 ~/.ssh/authorized_keys
접속 테스트ssh ID_of_PC_B@IP_of_PC_B 

1️⃣ PC A에서 SSH 키 생성

1
ssh-keygen -t rsa -b 4096 -C "key_of_PC_A"

옵션 설명:

  • -t rsa : RSA 방식 사용
  • -b 4096 : 키 길이 (보안 강화)
  • -C : 식별용 주석

생성 결과:

1
2
~/.ssh/id_rsa        (개인키)
~/.ssh/id_rsa.pub    (공개키)

2️⃣ 공개키를 PC B로 전달

방법 1 (권장)

1
2
ssh-copy-id user@server_ip  // 공개키를 PC B로 전달
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server_ip  // 키 파일을 명시하는 방법

예:

1
ssh-copy-id ubuntu@192.168.0.10

방법 2 (수동)

1
cat ~/.ssh/id_rsa.pub

출력된 내용을 복사 후 PC B에서:

1
2
mkdir -p ~/.ssh
nano ~/.ssh/authorized_keys

붙여넣기 후 저장

3️⃣ PC B 권한 설정 (매우 중요)

1
2
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

권한이 틀리면 SSH 접속이 거부될 수 있음


4️⃣ 접속 테스트

PC A에서 실행:

1
ssh user@server_ip

👉 비밀번호 없이 접속되면 성공


🔐 보안 강화 (선택)

PC B의 SSH 설정 파일 수정:

1
sudo nano /etc/ssh/sshd_config

다음 옵션 변경:

1
2
PasswordAuthentication no
PubkeyAuthentication yes

적용:

1
sudo systemctl restart ssh

⚠️ 자주 발생하는 문제

1. Permission denied (publickey)

  • authorized_keys 권한 문제
  • SSH 설정 문제
  • 사용자 계정 불일치

2. 여전히 비밀번호 요구

  • 키가 복사되지 않음
  • 다른 키 사용 중 (~/.ssh/config 확인)

This post is licensed under CC BY 4.0 by the author.