ssh公開鍵認証を実装する

  • 255
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

概要

サーバAからサーバBにssh接続を行うため、
秘密鍵、公開鍵を生成する

実装

鍵の生成

サーバA で以下実行

$ ssh-keygen -t rsa

Enter file in which to save the keyと聞かれるので、
鍵の名前(今回はid_rsa)を入力します。

次にEnter passphrase (empty for no passphrase):と、
パスフレーズを聞かれるので入力します。
空にするとパスフレーズ無しで生成できます。

すると、カレントディレクトリに以下の2ファイルが生成されます。

  • id_rsa (秘密鍵)
  • id_rsa.pub (公開鍵)

公開鍵の配置

まずは公開鍵を配置します。
FTPソフト等で サーバB に接続し、 id_rsa.pub を転送します。

※id_rsa.pubをサーバBに転送したら、サーバAからは削除してしまって構いません。

その後、 id_rsa.pub をサーバBの/.ssh配下に設置

$ mv id_rsa.pub ~/.ssh # ファイルの配置
$ cd ~/.ssh # 移動しておく

配置したら、.sshディレクトリ配下にある authorized_keys ファイルに統合

# .ssh配下にauthorized_keysが既にある場合
$ cat id_rsa.pub >> authorized_keys
$ rm id_rsa.pub
# .ssh配下にauthorized_keysがない場合
$ mv id_rsa.pub authorized_keys

authorized_keys ファイルのパーミッションは 0600 に変更

$ chmod 600 authorized_keys

秘密鍵の配置

秘密鍵を配置します。
id_rsaサーバA のどこに置いても構いませんが、
セキュリティ上、パーミッションを 0600 にする必要があります。

$ chmod 600 id_rsa

疎通確認

sshコマンドで疎通確認を行います。
サーバA で以下を実行

$ ssh -l [ユーザ名] -i [秘密鍵のパス] [サーバBのホスト名]

パスフレーズは設定したものを入力してください。
無事にSSH接続ができれば完了です。

参考

http://e-days.info/2011/05/ssh-keygen/