SSH 암호없이 접속(SSH-KEYGEN)
오늘은 DNS 서버 관리를 위한 스크립트를 만들기에 앞서 우선 서버간 인증 암호없이 접속하는 방법을
간단하게 정리하도록 하겠습니다.
SSH를 인증없이 접속하는 방법은 SSH-KEYGEN 명령어를 사용하면 됩니다.
SSH 암호없이 접속하기 위하여 간단한 작업절차를 설명하겠습니다.
클라이언트 키생성 -> 클라이언트 키 를 서버에 복사 -> sshd.conf 에서 옵션설정 -> sshd 재시작 -> 접속테스트 성공
위처럼 아주 간단합니다.
아래는 ssh-keygen 의 간단한 안내페이지 입니다. (자세한 내용은 man ssh-keygen 에서 확인할 수 있습니다.)
우선 차례대로 해보겠습니다.
1. 클라이언트 에서 ssh-keygen 으로 키 파일을 생성합니다.
- ssh-keygen -t rsa 명령으로 키를 생성합니다.
(RSA 와 DSA 의 차이에 대해서 간단하게 보실려면 아래의 더보기를 하시면 됩니다..!)
- 엔터 3번을 누르면 생성이 완료됩니다. (처음 엔터는 키생성 위치, 두번째는 키파일의 암호 입력, 세번째는 암호확인)
- 인증없이 편하게 접속하기 위한 작업이니 암호는 생략하도록 하겠습니다.
- 파일 2개가 생성됩니다. id_rsa , id_rsa.pub 각각 키파일과 공개키파일입니다.
클라이언트 화면에서 작업한 화면
2. 생성된 키파일을 scp 명령어를 통해 서버 로 전송합니다.
- 파일 2개중 공개 키파일인 id_rsa.pub 을 서버에 복사합니다.
- scp 전송할파일명 접속할계정@서버주소:복사할경로(또는 파일명)
(scp 옵션의 사용방법은 대략 이렇습니다.)
- 아래의 그림과 같이 전송을 완료하였습니다. (보안상 IP 는 지웠습니다.!)
클라이언트에서 작업한 화면
3. 서버로 전송한 키파일을 ssh키 폴더에 authorized_keys 의 이름으로 mv 나 rename 명령으로 변경해줍니다.
- mv id_rsa.pub .ssh/authorized_keys
(authorized_keys 라는 이름으로 변경해준 이유는 서버의 sshd.conf 에
AuthorizedKeysFile 항목에서 사용할 키파일의 파일명을 지정해놨기 때문입니다.)
서버에서 작업한 화면
4. 서버에서 sshd.conf 파일을 수정해줍니다.
- vi /etc/ssh/sshd.conf
- sshd.conf 파일안에 AuthorizedKeysFile 항목이 주석처리가 되어있으면 주석해제를 해주고 위에서 별도의 이름으로 키파일을
변경하였다면 임의로 지정한 파일명으로 변경해주면 됩니다.
(예 - AuthorizedKeysFile .ssh/test_keys)
- sshd.conf 수정 후 sshd 서비스를 재시작 합니다. service sshd restart 또는 /etc/init.d/sshd restart
5. 이제 마지막으로 클라이언트에서 서버로 암호없이 접속이 되는지 확인합니다.
- ssh 접속할계정@접속할서버IP(또는 도메인)
※ 설정상의 문제가 없다면 오류 없이 접속이 잘 됩니다.
다만, .ssh 폴더를 ssh-keygen 으로 생성한게 아니라 단순 mkdir 로 생성한경우 .ssh 폴더의 퍼미션을 rwx------ 로
변경해줘야 합니다. 또한 authorized_keys 파일의 경우 rw-r--r-- 으로 해야됩니다.
그 외에도 접속이 안될경우 /var/log/secure 나 /var/log/message 를 참고하면 원인을 파악하여 문제해결이 가능합니다.
'시스템 > Linux' 카테고리의 다른 글
Fedora Core5 Yum 사이트 (0) | 2013.05.24 |
---|---|
리눅스 SNMP 로그설정 (0) | 2013.05.14 |
리눅스에서 윈도우 공유폴더 Mount 하기 (0) | 2013.03.13 |
64비트에서 PHP 설치시 configure: error: Problem with libpng.(a|so) or libz.(a|so). Please check config.log for more information. 오류 (0) | 2013.03.12 |
리눅스 명령어 - ac (0) | 2012.07.11 |
리눅스 명령어 - ab (0) | 2012.07.05 |
리눅스 명령어 - a2p (0) | 2012.07.04 |
find 명령어 (1) | 2012.05.22 |