パスフレーズなしでssh接続する設定

FreeBSDのサーバに、MacやWindowsからパスワードなしでssh接続するための設定メモ。

サーバの設定

/etc/ssh/sshd_cofig

/etc/ssh/sshd_configを編集し、次の行を追加する。デフォルト値が次の値なので、定義がなければないままでも良い。

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2

sshd再起動

sshd_configを変更したら、sshdを再起動しておく。

# service sshd restart

    鍵ペアの作成 (UNIX/Mac)

    鍵ペア作成

    ssh-keygenコマンドを使って、鍵ペアを作成する。

    user> cd .ssh
    user> ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/user/.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /home/user/.ssh/id_rsa.
    Your public key has been saved in /home/user/.ssh/id_rsa.pub.
    The key fingerprint is:
    ...略...
    The key's randomart image is:
    +--[ RSA 2048]----+
    ...略...
    +-----------------+
    user>

    サーバに転送

    FTPなどでクライアントからサーバのアカウントにid_rsa.pubをコピーする。

    authorized_keysに登録

    authorized_keysにid_rsa.pubの内容を追加する。

    鍵ペアの作成 (Windows)

    1. PUTTYgen.exeを起動する。
    2. パラメータの「生成する鍵の種類」に「SSH-2 RSA」を選択し、「生成する鍵のビット数」に2048を入力する。
    3. 「生成」ボタンをクリックし、「鍵」の欄でマウスを適当に動かす。
    4. 「鍵のコメント」にPCが識別できるようにコメントを入れておく。
    5. 「秘密鍵の保存」ボタンをクリックし、名前を付けてファイル作成する。(例: id_rsa.ppk)
    6. PuTTYを起動し、セッション定義の「接続 > SSH > 認証」の「認証パラメータ」にある「認証のためのプライベートキーファイル」に、先ほど保存したファイルをフルパスで指定する。
    7. PuTTYgenの「OpenSSHのauthorized_keysファイルにペーストするための公開鍵」の欄をコピーし、接続先の.ssh/authorized_keysファイルに追加する。

    チェックポイント

    鍵ペアをインストールしたにもかかわらずパスフレーズを聞かれてしまう場合には、次の点を確認する。

    • 各ファイルやディレクトリのパーミションが次のように適切に設定されていること。
      • $HOME/.ssh 700
      • $HOME/.ssh/authorized_keys 600
      • $HOME/.ssh/id_rsa 600
    • id_rsa.pubからauthorized_keysにパブリック鍵をコピーするときに改行コードが紛れ込んでいないこと。きちんとコピーすれば1行なのだが、コピー&ペーストでテキストコピーすると途中で勝手に改行コードが入ってしまうことがあり、正常な鍵とみなされなくなる。勝手な改行を防ぐため、ファイルをFTPなどで転送した上でcatを使ってマージするのが良い。
    • id_rsa.pubを.sshディレクトリ下に残しておかないこと。このファイルが残っており、かつid_rsaの鍵と一致しない場合には、接続先のauthorized_keysに記述があっても参照されない。
    • 不具合調査時には、sshに-vオプションをつけてデバッグ表示させると良い。-vを重ねて使うとデバッグレベルが上がり、最大3までのデバッグ情報が表示可。
    タイトルとURLをコピーしました