LoginSignup
17
21

More than 5 years have passed since last update.

調べてもなかなか出てこない!SSH公開鍵認証がやっと整理できた

Last updated at Posted at 2015-08-06

SSH公開鍵認証方式について

認証方式

引用元:http://dl.off-soft.net/images/sakura/ssl/public_key.png

いや、知ってましたよ。なんとなくは。
ただ、以下のパターンの場合がごっちゃ混ぜになってました。

ごちゃまぜになってた話

  • ホストA
  • ホストB

「Aで鍵作った場合、Bで鍵作った場合」で頭がごちゃごちゃになってました。

ケース1 Aで鍵作成


Aでssh-keygenをした場合、公開鍵Aと秘密鍵Aができます。

 B→Aの通信をしたい場合は、
  ・Bへ秘密鍵Aを送る
  ・Aのauthorized_keysに公開鍵Aを追加する

ケース2 Bで鍵作成


Bでssh-keygenをした場合、公開鍵Bと秘密鍵Bができる

 B→Aの通信をしたい場合は、
  ・Aのauthorized_keysに公開鍵Bを追加する

まとめ

ケース1が良い場合(ホストAで鍵生成)

特定のユーザだけに公開鍵認証でホストAを公開したい場合
(管理者側で鍵の生成を行う)

ケース2が良い場合(ホストBで鍵生成)

ホストBから大量のクライアントに対してSSHを実行する場合(Ansibleやserverspecなど)

付録(sshの公開鍵認証がうまくいかない場合のTips)


以下の点に注意すると大体解決します。

  • id_rsaのパーミッションと権限の問題
  • ~/.ssh ディレクトリのパーミッションと権限の問題
  • SELinuxが有効な場合の問題(こちら
  • /etc/ssh/sshd_configの設定の問題
  • ファイル名、格納先の誤り(authorized_keysなど)

sshを実行するときに-vvvvオプションを使用することで詳細なログが見れますのでトラブルシュートに使って下さい。

17
21
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
21