Linux

ssh公開鍵認証を実装する

More than 1 year has passed since last update.


概要

サーバ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/