본문으로 바로가기

SSH Key 생성하기

category 리눅스/Linux 일반 2013. 8. 16. 07:06

인증에 사용되는 SSH Key 생성법에 대하여 알아봅니다.

윈도우에서 생성

msysgit을 이용한 방법

윈도우에서 Git 사용을 위해 msysgit을 사용중이라면 간단하게 생성할 수 있다.

ssh-keygen -t rsa

putty 를 이용한 방법

퍼티를 설치시 함께 설치되는 puttygen을 이용한다.

1.Generate 버튼을 누르고 키를 생성한다.

2.마우스를 이리저리 움직이면 키가 랜덤하게 생성한다.

3. Save private key 버튼으로 개인키를 저장한다.

4. Save public key 버튼으로 공개키도 저장한다.

5. 공개키를 저장소 관리자에게 보낸다.

6. 리모트 저장소로 Push할 경우 Setting 탭의 Remote 섹션에 개인키를 저장한 곳을 선택한다.

xshell 을 이용한 방법

1.도구 > 사용자 키 생성 마법사 > 아래항목 셋팅 > 다음

- 키 유형 : RSA

( ssh1 프로토콜은  RSA 키만을 지원하고, ssh2 프로토콜은 RSA와 DSA 모두 지원, 서버에맞게 선택 )

- 키 길이 : 1024

( 키 길이가 길면 보다 안전하고, 짧으면 처리 속도가 빨라집니다. 일반적인 경우 1024 비트가 적당함 )

2. 키 생성이 성공적으로 끝남 > 다음

3. 생성된 키에 암호를 걸경우 암호를 입력 > 다음 

4. 공개 키 등록 > 파일로 저장

- 공개키 형식 : 대부분의 서버가 SSH2-OpenSSH 를 사용하니 그것을 선택 

5. 서버에 등록

- 공개키를 ~/.ssh/authorized_keys2 파일에 복사해 넣음

( .ssh 디렉토리가 없다면 생성, 권한 700 )

6. 권한 변경

chmod ~/.ssh/authorized_keys2 600

리눅스/유닉스 계열에서 생성

리눅스/유닉스 계열에서 생성

1. 키 생성

ssh-keygen -t rsa

-t : 어떤 암호화 방식을 사용할 것인가 (디폴트이기에 정하지 않으면 rsa로 만들어진다)

파일위치 지정 : (기본위치로 사용하려면 Enter)

비밀번호 : (비밀번호 없이 사용하려면 Enter)

비밀번호 확인 :

위에서 정한 파일위치에 .ssh 디렉토리가 생기고 그 아래에 id_rsa(개인키), id_rsa.pub(공개키),known_hosts 파일이 생성된다.

2. 공개키 전송

scp ~/.ssh/id_rsa.pub 사용자ID@서버명:id_rsa.pub

( 파일위치 - ~/.ssh/id_rsa.pub 에서 서버의 사용자의 홈디렉토로 id_rsa.pub 이라는 이름으로 복사 )

3. 서버에서 공개키 등록위치 생성

mkdir .ssh
chmod 700 .ssh

4. 공개키를 등록

cat id_rsa.pub >> .ssh/authorized_keys

( 리다이렉션을 이용해서 추가, 다른 인증키가 사용될수도 있으므로 append 를 시킨다.)

만일 접속시 패스워드를 계속 묻거나 한다면 디버깅 모드를 사용한다.

ssh 사용자ID@ -v

디렉토리와 파일 권한

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub  
chmod 600 ~/.ssh/authorized_keys
chmod 644 ~/.ssh/known_hosts