さくらVPSで公開鍵認証する

さくらVPSで公開鍵認証した

公開鍵認証だとパスワードの入力が不要でセキュリティが高まると聞いてやってみた。
MBPの標準コンソール、
iPadSSHアプリPrompt、
Win7Putty
のいずれからも公開鍵認証でSSH接続できるようにする。

その前に公開鍵暗号化方式と公開鍵認証の言葉の確認、
自分の理解なので間違ってたらごめん…

 

公開鍵暗号化方式
ペアの一方の鍵で暗号化すると、もう一方の鍵でしか復号できない。
サーバーは公開鍵で暗号化し、クライアントは秘密鍵で復号化する。
クライアントは秘密鍵で暗号化し、サーバーは公開鍵で復号化する。
 
公開鍵認証
クライアントがサーバにアクセスすると、サーバはランダムな情報をクライアントに送信する。
クライアントは秘密鍵で暗号化して返し、サーバーが公開鍵で復号できれば、認証成功となる。
 

 

Macbook Proのコンソールから公開鍵認証

( 1 / 3 ) 鍵ファイルの生成、秘密鍵の保存、公開鍵の転送

  1. ssh-keygenで鍵ファイルを生成
    鍵ファイルのファイル名、保存先を指定:
    パスフレーズの入力、再入力
  2. scpで公開鍵をさくらVPSサーバーに転送

 

  1.  
  2. $ ssh-keygen -t rsa
  3. Generating public/private rsa key pair.
  4. Enter file in which to save the key :/Users/testuser/Desktop/id_rsa_ipad 注1
  5. Enter passphrase (empty for no passphrase): 注2
  6. Enter same passphrase again: 注2
  7.  
  8. $ scp ~/.ssh/id_rsa_mbp.pub root@www12345u.sakura.ne.jp:id_rsa_mbp.pub
  9.  

注1 絶対パスで指定

注2 パスフレーズの入力を省略したいので空欄でリターン

 

( 2 / 3 ) さくらVPSサーバーに公開鍵を設定

  1. さくらVPSサーバーにroot権限でログイン
  2. 公開鍵のファイルauthorized_keysを作成
  3. authorized_keysにコピーした公開鍵を追記
  4. SSHコンフィグで、公開鍵認証を有効にする
  5. SSHの再起動

 

  1.  
  2. $ ssh -l root www12345u.sakura.ne.jp -p 22
  3. # mkdir ~/.ssh
  4. # touch ~/.ssh/authorized_keys
  5. # chmod 700 ~/.ssh
  6. # chmod 600 ~/.ssh/authorized_keys
  7.  
  8. # cat ~/id_rsa_mbp.pub >> ~/.ssh/authorized_keys
  9.  
  10. # vim /etc/ssh/sshd_config
  11. PubkeyAuthentication yes
  12. AuthorizedKeysFile .ssh/authorized_keys
  13. Passwordauthentication yes 注3
  14.  
  15. # service sshd restart
  16.  

注3 公開鍵認証のみ許可する場合はno。他の端末からアクセスする可能性があり、その場合はパスワード認証にする場合はyes。

 

( 3 / 3 ) MBPのコンソールからSSH接続

  1. SSHで接続できれば完了
    -l:ログインユーザ名
    -p:ポート番号
    -i:秘密鍵のファイルのパス

 

  1.  
  2. $ ssh -l root www12345u.sakura.ne.jp -p 22 -i ~/.ssh/id_rsa_mbp
  3.  

 

iPadのPromptから公開鍵認証

( 1 / 4 ) 鍵ファイルの生成、秘密鍵の保存、公開鍵の転送

  1. ssh-keygenで鍵ファイルを生成
    鍵ファイルのファイル名、保存先を指定:
    パスフレーズの入力、再入力
  2. scpで公開鍵をさくらVPSサーバーに転送

 

  1.  
  2. $ ssh-keygen -t rsa
  3. Generating public/private rsa key pair.
  4. Enter file in which to save the key :/Users/testuser/Desktop/id_rsa_ipad 注1 注4
  5. Enter passphrase (empty for no passphrase): 注2
  6. Enter same passphrase again: 注2
  7.  
  8. $ scp ~/Desktop/id_rsa_ipad.pub root@www12345u.sakura.ne.jp:id_rsa_ipad.pub
  9.  

注1 絶対パスで指定

注2 パスフレーズの入力を省略したいので空欄でリターン

注4 生成した秘密鍵ファイルをこのあとiPadに転送するときに、.sshのようなドットではじまるディレクトリは選択できないので保存先をDesktopに指定。

 

( 2 / 4 ) さくらVPSサーバーに公開鍵を設定

  1. さくらVPSサーバーにroot権限でログイン
  2. 公開鍵のファイルauthorized_keysを作成 ※作成済みの場合は不要
  3. authorized_keysにコピーした公開鍵を追記
  4. SSHコンフィグで、公開鍵認証を有効にする ※設定済みの場合は不要
  5. SSHの再起動

 

  1.  
  2. /* 先に作成していれば不要 */
  3. # mkdir ~/.ssh
  4. # touch ~/.ssh/authorized_keys
  5. # chmod 700 ~/.ssh
  6. # chmod 600 ~/.ssh/authorized_keys
  7.  
  8. # cat ~/pubkey_ipad >> ~/.ssh/authorized_keys
  9.  
  10. /* 先に設定していれば不要 */
  11. # vim /etc/ssh/sshd_config
  12. PubkeyAuthentication yes
  13. AuthorizedKeysFile .ssh/authorized_keys
  14. Passwordauthentication yes 注3
  15.  
  16. # service sshd restart
  17.  

注3 公開鍵認証のみ許可する場合はno。他の端末からアクセスする可能性があり、その場合はパスワード認証にする場合はyes。

 

( 3 / 4 ) MBPからPromptに秘密鍵を転送

  1. iPadをMBPとつないでiTunesを起動
  2. ファイル共有でPromptを選択、追加ボタンで秘密鍵ファイルを指定

f:id:bleu-bleut:20140915103126p:plain

 

( 4 / 4 ) Promptから接続確認

  1. 接続設定の入力
    SSH:www12345u.sakura.ne.jp
    ポート:22
    ユーザ名:root
    パスワード:(空欄)
  2. 鍵マークのタップで秘密鍵を指定
  3. 接続ボタンでつながれば完了

f:id:bleu-bleut:20140915103145p:plain

Prompt

Prompt

  • Panic, Inc.
  • ユーティリティ
  • ¥800

( おまけ ) 秘密鍵のファイルが表示されない

Promptの鍵マークをタップしても転送したファイルが表示されない、「Promptへ鍵ファイルを追加するにはiTunesiPadを接続しAppタブよりファイル共有機能を使用します。」のメッセージが表示される場合、転送したファイルが秘密鍵でないか書式が異なるかも、、、

こんなミスをする人は他にいないかもしれませんが、次の記事を参照。。。

Promptに秘密鍵ファイルが転送できない

f:id:bleu-bleut:20140916122512j:plain

 

Win7Puttyから公開鍵認証

( 1 / 3 ) 鍵ファイルの生成から、win7秘密鍵の設定まで

  1. Puttyに付属のputtygen.exeを起動
  2. Generateボタン押下、公開鍵、秘密鍵を生成
  3. Save Private keyボタン押下、秘密鍵を保存
    (例)/Users/user_account/.ssh/id_rsa_win
  4. 公開鍵をコピーして、さくらのVPSにログイン

f:id:bleu-bleut:20140915103158p:plain

 

( 2 / 3 ) さくらVPSサーバーに公開鍵を設定

  1. さくらVPSサーバーにroot権限でログイン
  2. 公開鍵のファイルauthorized_keysを作成 ※作成済みの場合は不要
  3. authorized_keysにコピーした公開鍵を追記
  4. SSHコンフィグで、公開鍵認証を有効にする ※設定済みの場合は不要
  5. SSHの再起動

 

  1.  
  2. /* 先に作成していれば不要 */
  3. # mkdir ~/.ssh
  4. # touch ~/.ssh/authorized_keys
  5. # chmod 700 ~/.ssh
  6. # chmod 600 ~/.ssh/authorized_keys
  7.  
  8. # vim ~/.ssh/authorized_keys
  9.  
  10. /* 先に設定していれば不要 */
  11. # vim /etc/ssh/sshd_config
  12. PubkeyAuthentication yes
  13. AuthorizedKeysFile .ssh/authorized_keys
  14. Passwordauthentication yes 注3
  15.  
  16. # service sshd restart
  17.  

注3 公開鍵認証のみ許可する場合はno。他の端末からアクセスする可能性があり、その場合はパスワード認証にする場合はyes。

 

( 3 / 3 ) Puttyの設定

  1. Puttyを起動
  2. カテゴリ欄の「接続」から「SSH」、「認証」
    認証のためのプライベートキーファイル:(保存した秘密鍵のファイルを指定)
  3. カテゴリ欄の「接続」から「データ」
    自動ログインのユーザ名:root
  4. カテゴリ欄の「セッション」
    ホスト名:(さくらVPSサーバのIPアドレス
    ポート:22
    セッション一覧:ssh
  5. 保存ボタン押下
  6. 開くボタンで接続できれば成功

f:id:bleu-bleut:20140915103150p:plain

f:id:bleu-bleut:20140915103135p:plain

f:id:bleu-bleut:20140915103206p:plain

 

おわり

 

参照サイト

 

関連記事