ssh 연결의 기본 (공개 키 인증 방법)

이번에는 서버에 대한 공개 키 인증 방법 ssh 연결의 흐름을 작성합니다. (거의 비망록)
목표는 복수의 서버에 자유롭게 ssh 접속할 수 있는 것.

흐름은 다음과 같습니다.
  • rsa 키 생성
  • id_rsa.pub 전달
  • id_rsa.pub를 Authorized Keys에 등록
  • ssh config 편집
  • 사용법

  • 환경



    클라이언트: OSX 10.10.3 Yosemite
    서버:Debian8(ConoHa VPS)

    /etc/ssh/sshd_config
    //サーバーはパスワード認証、公開鍵認証できる状態にしておいてください。
    //ファイル内のどこかにある項目
    RSAAuthentication yes
    PubkeyAuthentication yes
    AuthorizedKeysFile      %h/.ssh/authorized_keys
    PasswordAuthentication yes
    //総当たりを防止のため、公開鍵認証で接続できる事が確認できしだい変更した方が良いです。
    PasswordAuthentication no
    //今回はrootで接続する事を確認しますが、終わったらnoに変更した方が良いです。
    //(ユーザを新規に作って、そのユーザで操作する。)
    PermitRootLogin  no
    

    rsa 키 생성



    먼저 클라이언트에서 rsa 키를 만듭니다.
    만약, 만든 비밀키는 다른 사용자에게 읽히지 않도록 권한을 바꾸어 주세요.

    terminal(클라이언트)
    $ pwd
      /Users/"ユーザー名"
    $ cd ./.ssh  //フォルダが無い場合は作る。
    $ ssh-keygen -t rsa 
    //-中略- 画像参照
    $ ls
    id_rsa , id_rsa.pub
    $ chmod 400 id_rsa //read権限があれば問題ないです。
    



    하나의 연결에 하나의 키를 만들기 때문에 파일 이름을 임의로 바꾸는 것이 좋습니다.
    (변경하지 않으면 덮어씁니다.)
    ※追記(2015/8/30)
    公開鍵(id_rsa.pub)を複数のサーバで使えば一つの秘密鍵(id_rsa)で全部にログインできます。

    id_rsa.pub 전달



    scp를 사용하여 방금 만든 id_rsa.pub를 서버로 보냅니다.
    보내는 방법은 안전하게 전달할 수 있으면 무엇이든 괜찮습니다. ("공개"키이므로 평문이라도 좋지만 만약을 위해)
    ※비밀키(id_rsa)를 건네주지 않도록 주의

    terminal(클라이언트)
    $ pwd
      /Users/"ユーザ名"/.ssh
    $ scp ./id_rsa.pub root@aaa.bbb.ccc.ddd:/home/"サーバー側のユーザ名"/.ssh/id_rsa.pub
    

    id_rsa.pub를 Authorized Keys에 등록



    terminal(서버)
    $ pwd
      /Home/"ユーザ名"/.ssh
    $ cat ./id_rsa.pub >>  ./authorized_keys //authorized_keysに追記します。
    //以後このファイルに公開鍵を追記していけば問題ないです。
    $ rm ./id_rsa.pub //いらないので消しておく
    

    ssh config 편집



    terminal(클라이언트)
    $ pwd
      /Home/"ユーザ名"/.ssh
    $ vim config //emacs,nanoお好きなエディタで...
      Host Myserver_hoge //任意の名前
            HostName  aaa.bbb.ccc.ddd //サーバーのipアドレス ipv4/6
            port 6022 //ssh用のポート番号
            IdentityFile ./id_rsa //先ほど作った秘密鍵のファイル
            User hoge //ログインする名前
    
      Host Conoha_root //ConoHaのrootの例
            HostName  aaa.bbb.ccc.ddd
            port 6022
            IdentityFile ./id.pem //ConoHaのサーバーを立てた際にDLしたroot用ファイル
            User root
    //書いておいてなんですが、rootではログインできない用にしておくべきです。(設定は上記の環境を参照)
    

    사용법



    매번 비밀키를 지정하거나 주소를 치지 않아도 되므로 편리합니다.

    terminal(클라이언트)
    $ pwd
      /Home/"ユーザ名"/.ssh
    $ ssh Myserver_hoge
    $ ssh Conoha_root
    

    참고



    Debian 8 Jessie : SSH 서버 : SSH 키 인증 : Server World

    좋은 웹페이지 즐겨찾기