본문 바로가기

도구의발견

ssh login without password

/**
  작업을 하다 보니 원격에 있는 서버에 파일들을 복사 해야 하는 이슈가 발생했다.
  내가 생각 한 방법은 아래와 같다.

  1. 서버를 띄워 놓고 일정 주기 마다 클라이언트가 서버에게 파일의 내용을 전송한다.
  -> 귀찮다
  2. 'scp' 를 crontab에 등록한다.
  -> scp를 사용하기 위해서는 패스워드를 수동으로 입력해야 한다.
    ->  패스워드없이 입력 할 수 있도록 설정이 가능하다.
      -> ssh에 대해 알아야 한다.
*/

How to do it

   상황 설정

  • 한 사용자가 A라는 서버에는 a라는 계정을 가지고 잇고, B라는 서버에는 b라는 계정을 가지고 잇다고 가정하자.
  • 여기서 로그인 하고자하는 타켓은 B서버라고 한다.
  • 계정이 다르고, 패스워드가 달라도 ssh 연결을 하는데는 전혀 지장이 없다.
  1. 셋팅
     우선 두대의 시스템 모두에서 ssh 관련 설정 파일을 열어 인증 관련 지시자를 활성화 시켜주어야 한다.
      
    •  이 작업 부분에 대해서는 root 권한을 가지고 있어야 하며, 만일 root 권한이 없다면 관리자에게 요청하도록 한다
    # vi /etc/ssh/sshd_config

     두 시스템 모두 위 경로의 파일을 열어 ssh 데몬의 설정을 아래와 같이 변경 하도록 하자
    RSAAuthentication yes
    PubkeyAuthentication yes
    AuthorizedKeysFile      .ssh/authorized_keys
     
     여기서 주목할 것은 세번째 줄의 authorized_keys 이다. 공개키가 기록되는 파일이며 어떠한 방법을 이용하던 ssh 로그인을 하고자 하는 대상 시스템의 공개키가 여기 기록되어 있어야 한다.
  2. A에 a 계정으로 로그인 하도록 하자. 그리고 아래와 같이 타이핑한다.
    ※ passphrase 는 입력하지 않도록 하자!
    a@A:~]$ ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/a/.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):         # 아무것도 입력하지 않는다
    Enter same passphrase again:
    Your identification has been saved in /home/a/.ssh/id_rsa.
    Your public key has been saved in /home/a/.ssh/id_rsa.pub.
    The key fingerprint is:
    fe:a8:cf:44:0a:21:9f:ad:61:bc:f6:f6:e3:a3:06:73 a@A.server.com
    위의 작업을 거치고 나면 .ssh 디렉토리에는 id_rsa.pub라는 파일이 생성된다.
  3. id_rsa.pub의 내용을 타겟 서버의 .ssh/authorized_keys파일에 복사하도록 한다.
    (만일 파일이 없다면 만들도록 한다)
    a@A:~]$ cat id_rsa.pub
    ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEA9PbV3VCTedANFSiAUiibbAa+19OfG4f/YbjS5OSTUUSxzutnF1n
    r3dUrr97aHzmkaRb4MF72QTWpNj3sX1mtQ1foVc9IrFb67nbBFMLw3sao/B0k7xNdV/iMJgxOyT7YXmK
    Np/Bb
    /JU3tcmZui0hFdE/oGZyMP49AXqN6+GBo2s= a@A.server.com
    a@A:~]$ cat id_rsa.pub | ssh b@B.server.com 'cat >> ~/.ssh/authorized_keys'
    b@B.server.com's password:
    a@A:~]$ ssh B.server.com -lb
    Last login: Thu Dec 28 17:26:17 2006 from A.server.com
    b@B:~]$

원문 보기 :
  http://www.linuxproblem.org/art_9.html
  http://suselinux.co.kr/bbs/board.php?bo_table=tip&wr_id=1701


mail :
  kukuta@gmail.com 
유익한 글이었다면 공감(❤) 버튼 꾹!! 추가 문의 사항은 댓글로!!