티스토리 뷰

서버 간 통신시 password 입력 없이 통신을 하기 위해서는 ssh 공개키를 알고 있어야 한다.
이 방법에 대해서 알아보자.

  1. SSH KEY 생성
  2. authorized_keys 파일 생성
  3. .ssh 권한 설정

$ ssh-keygen -t rsa -P ‘’ -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/*

.ssh 디렉토리는 700, 내에 파일들은 600으로 설정되어야 한다.

그리고 접속하고자 하는 장비에 ~/.ssh/id_rsa.pub(공개키) 를 ~/.ssh/authorized_keys 파일에 추가해 준다.



ssh 설정이 잘 되었는지 확인하기 위해서 간단하게 아래와 같이 명령어를 수행해 보면 된다.

ssh {접속하고자 하는 장비 호스트명} date

ssh 로 장비에 접속하여 date 명령어를 수행하는 것이다.
정상적으로 설정이 되었다면 명령 프롬프트가 접속한 장비명으로 변경되고 date 명령어가 정상 수행되어야 한다.



ssh 설정을 잘 했음에도 불구하고 접속이 안 되는 경우가 있다.
이 때 몇가지 체크사항이 있는데. 차례대로 확인해보자.

  • 접근권한
    일단 .ssh 디렉토리 접근권한을 체크해야 한다.

    drwx------    2 irteam irteam  4096 2016-01-06 21:10 .ssh

    .ssh 는 700, 그 내부파일은 모두 600 으로 세팅이 되어 있는지 확인한다.

  • 공개키
    From ~ To 일 때 From 서버의 공개키가 To 서버에 잘 등록이 되어 있어야 한다.

    From 서버의 ~/.ssh/id_rsa.pub 내용이 To 서버의 ~/.ssh/authorized_keys 내에 잘 등록되어 있는지 비교하자.
    (key 가 알아보기 어려울 수 있으니, Text 비교 툴을 이용하면 쉽게 비교할 수 있다. AcroDiff 같은??)

  • 오류 로그
    확인 법접속할 서버의 /var/log/secure 파일을 확인해 보면 접속시 어떤 로그가 나타나는지 확인할 수 있다.
    보통 info 로그만 나오는데, debug 로그도 확인하려면 sshd 를 띄울 때 debug 옵션을 추가해 주어야 한다.
    (http://ubuntuforums.org/showthread.php?t=1683304)
    • CaseStudy
      sshd[22093]: Authentication refused: bad ownership or modes for directory /home1/irteam
      위와 같은 오류가 발생하고 있었다.
      구글링을 해보니 irteam 에 대한 디렉토리 권한이 문제가 있었다.
      http://www.daveperrett.com/articles/2010/09/14/ssh-authentication-refused/

      chmod 755 irteam << 를 수행해 주니, 정상적으로 접속이 된다.




참고자료



'Infra > Linux' 카테고리의 다른 글

bash shell 로 날짜별 script 수행해보기  (0) 2018.01.23
Linux 파일 구조  (0) 2015.12.31
find exec 사용시 주의사항  (0) 2015.03.31
Find 명령어  (0) 2015.03.16
rsync 설정하기  (0) 2015.03.06
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함