SlideShare a Scribd company logo
1 of 30
Download to read offline
OpenSSHの認証に 
証明書を使う 
#ssmjp@conoha - GMO Yours 
Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved. 
2014年10月27日
自己紹介 
• ひろのぶ(@hironobu_s) 
• Web系開発&インフラ屋 
• 所属:GMOインターネット 
• 最近ConoHaの中の人になりました 
• 緑陣営Lv7 
Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
conoha.jpのブログ書いてます 
Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
1分ではじめる、クラウドのようなVPS 
ConoHa VPS 
• VPSホスティングサービス 
• 古い言い方だとレンタルサーバ 
• 仮想サーバを930円から 
• さまざまなOSに対応 
https://www.conoha.jp/unity1025
1分ではじめる、クラウドのようなVPS 
ConoHaクーポン 
• ConoHaのサービスを3,000円分使えま 
す 
• VPSでもオブジェクトストレージでも 
• 新規アカウント登録すると、 
さらに1,500円分追加されます 
• あわせて4,500円 
• 一番安いプランで4ヶ月分 
https://www.conoha.jp/unity1025
宣伝乙w 
Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
SSHの認証方式 
Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
SSHの認証方式 
Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved. 
• パスワード認証 
• Obsolete 
• 公開鍵認証 
• 最もポピュラー? 
• LDAP認証 
• 一元管理できるが、構築すると大がかり 
• 弊社内はこれ。
証明書認証 
• バージョン5.4からサポート 
• CentOSなどの5.3系でも使えます 
• 独自CA(認証局)を作り、ユーザやホストの公開鍵に 
署名して証明書とする 
• CAの鍵を信用し、CAによって署名された証明書を 
持つユーザ/ホストを認証する方式 
Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
OpenSSHの認証に証明書を使う
公開鍵認証との違い 
公開鍵認証証明書による認証 
Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved. 
ユーザ認証 
ユーザの公開鍵をサーバ上の 
authorized_keysファイルに追加する。 
サーバは乱数を生成し、ユーザの公開 
鍵で暗号化し送信。ユーザは暗号鍵で 
復号し乱数のハッシュ値を計算、それ 
をサーバに送信。サーバはハッシュ値 
を照合する。 
あらかじめユーザの公開鍵にCAが署名を 
する。またサーバはCAの公開鍵を保持す 
る。ユーザは接続時に署名済みの公開鍵( 
証明書)を送信し、サーバはそれを検証す 
る 
ホスト認証 
ユーザの接続時に、サーバは自身の公 
開鍵とフィンガープリントを送信する 
。ユーザはそれを確認し、公開鍵を受 
け入れるかを決める 
あらかじめサーバの公開鍵にCAが署名を 
する。ユーザはCAの公開鍵を保持してお 
り、接続時にサーバから送信された署名済 
みの公開鍵(証明書)を検証する。
Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved. 
つまり 
おおざっぱに言うとSSL/TLSと同じです。
何が便利なのか 
• ホストにはCAの公開鍵を設定しておけば良い 
• ユーザの追加削除のたびに公開鍵の登録/削除 
が不要 
• LDAPを構築するより運用もお手軽? 
(規模による) 
Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
こんなこともできる 
• ユーザをログイン禁止にしたい(証明書の失効) 
• 有効期限を設定したい(証明書に有効期限を設定する) 
• 実際のユーザと、ログイン可能なシステムユーザを 
分けて管理したい(Principalsの設定) 
• ユーザ毎にポートフォワード(port-forwarding)やエー 
ジェント転送(agent-forwarding)の許可をしたい 
Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
CA(認証局)って何? 
Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
Certificate Authority 
電子的な身分証明書を発行し、管理する機関。認証局 
、CA局またはCAセンターと呼ぶ場合もある。CAには、“ 
パブリックCA”と“プライベートCA”があり、前者は本人性 
を第三者が発行する証明書により証明するもので、電子 
商取引など不特定多数の広い範囲で運用される。 
出典: http://www.atmarkit.co.jp/aig/02security/ca.html 
Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
難しそうに見えますが 
• 要は鍵のペアです。 
• 普通にssh-keygenで作った鍵ペアが、そのまま 
CAの鍵として使えます。 
• コマンドを見てもらった方がわかりやすいです 
Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
やってみよう 
Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
CA(認証局)の鍵ペアを作る 
Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved. 
手順(1) 
[hiro@MBP]# ssh-keygen -f ca.key 
Generating public/private rsa key pair. 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in ca.key. 
Your public key has been saved in ca.key.pub. 
The key fingerprint is: 
d8:c3:3e:0b:0e:e3:1d:de:f5:76:18:6a:76:2e:7d:80 hiro@ 
The key's randomart image is: 
(中略) 
[hiro@MBP]# ls -l 
total 16 
-rw------- 1 hiro staff 1675 10 22 11:26 ca.key 
-rw-r--r-- 1 hiro staff 416 10 22 11:26 ca.key.pub
手順(2) ユーザの鍵ペアを作る 
[hiro@MBP]# ssh-keygen -f user.key 
Generating public/private rsa key pair. 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in user.key. 
Your public key has been saved in user.key.pub. 
The key fingerprint is: 
f6:fa:6d:a7:3c:10:f7:56:05:4d:d6:f8:d0:b8:19:e9 hiro@ 
The key's randomart image is: 
(中略) 
[hiro@MBP]# ls -l 
total 32 
-rw------- 1 hiro staff 1675 10 22 11:26 ca.key 
-rw-r--r-- 1 hiro staff 416 10 22 11:26 ca.key.pub 
-rw------- 1 hiro staff 1675 10 22 11:35 user.key 
-rw-r--r-- 1 hiro staff 416 10 22 11:35 user.key.pub 
Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
手順(3) ユーザの公開鍵にCA鍵で署名 
[hiro@MBP]# ssh-keygen -s ca.key -I user_root -n root user.key.pub 
Signed user key user.key-cert.pub: id "user_root" serial 0 for root valid from 2014-10- 
22T11:58:00 to 2014-10-23T11:59:53 
[hiro@MBP]# ls -l 
total 40 
-rw------- 1 hiro staff 1675 10 22 11:26 ca.key 
-rw-r--r-- 1 hiro staff 416 10 22 11:26 ca.key.pub 
-rw------- 1 hiro staff 1675 10 22 11:35 user.key 
-rw-r--r-- 1 hiro staff 1518 10 22 12:01 user.key-cert.pub 
-rw-r--r-- 1 hiro staff 416 10 22 11:35 user.key.pub 
• -s: 署名に使用する秘密鍵を指定。 
• -I: 公開鍵に署名する際のSpecifyを指定。ログの記録名。 
• -n: Principalの指定。ログイン可能なUNIXユーザ名を列挙。 
Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved. 
←NEW!
手順(4) ログインしてみよう 
[hiro@MBP]# ssh -v -i ~/.ssh/user.key root@example.com 
↓こんな表示が出るはず 
debug1: Offering RSA-CERT public key: user.key 
debug1: Server accepts key: pkalg ssh-rsa-cert-v01@openssh.com blen 1094 
debug1: ssh_rsa_verify: signature correct 
Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
ハマったこと 
Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
CentOS6はオプションが違う 
• CentOS6.5に含まれるOpenSSH-5.3p1の 
ssh-keygenコマンド 
• Principalを設定する重要な-nオプションが、別 
のオプションに割り当てられている。 
(Extract public key from smartcard) 
Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
CentOS6のssh-keygenのmanページ
_人人人人人人_ 
> 2つある< 
 ̄Y^Y^Y^Y^Y ̄ 
Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
つまり・・・ 
• manも間違ってる 
• CentOS6の場合-nオプションはPrincipalの設定 
として機能しない 
• 署名ができない(署名にPrincipalの設定は必須) 
Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved. 
• 詰む
• 一応、バグ報告は上がっていた 
• https://bugs.centos.org/view.php?id=6904 
• -nじゃなくて-Zに割り当てられていた 
• manには書かれていない 
• 知らんがな・・・ 
(CentOS7では修正されてました) 
Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved. 
まとめ 
• ユーザやサーバがそれなりに多い 
• けどLDAPを作るのは面倒だ 
• と言う場合にいいかも 
• 続きはWebで 
https://www.conoha.jp/blog/tech/3659.html
ご清聴ありがとうございました 
Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.

More Related Content

What's hot

サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会ShuheiUda
 
GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話mdome
 
AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較beyond Co., Ltd.
 
最近の PowerShell について
最近の PowerShell について最近の PowerShell について
最近の PowerShell についてKazuki Takai
 
Kongの概要と導入事例
Kongの概要と導入事例Kongの概要と導入事例
Kongの概要と導入事例briscola-tokyo
 
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Appsグリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & AppsGoogle Cloud Platform - Japan
 
コンテナ時代にインフラエンジニアは何をするのか
コンテナ時代にインフラエンジニアは何をするのかコンテナ時代にインフラエンジニアは何をするのか
コンテナ時代にインフラエンジニアは何をするのかgree_tech
 
AWSで動画共有サイトを作成して全社に公開
AWSで動画共有サイトを作成して全社に公開AWSで動画共有サイトを作成して全社に公開
AWSで動画共有サイトを作成して全社に公開ToruKubota4
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンKentaro Yoshida
 
RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話Takuto Wada
 
ChatGPT、 何が「できる」「みえる」ようになってきたのか!
ChatGPT、 何が「できる」「みえる」ようになってきたのか!ChatGPT、 何が「できる」「みえる」ようになってきたのか!
ChatGPT、 何が「できる」「みえる」ようになってきたのか!Jingun Jung
 
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Shin Ohno
 
Multibranch pipelineでいろいろ学んだこと
Multibranch pipelineでいろいろ学んだことMultibranch pipelineでいろいろ学んだこと
Multibranch pipelineでいろいろ学んだことRecruit Lifestyle Co., Ltd.
 

What's hot (20)

WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
 
sshdのお話
sshdのお話sshdのお話
sshdのお話
 
eBPFを用いたトレーシングについて
eBPFを用いたトレーシングについてeBPFを用いたトレーシングについて
eBPFを用いたトレーシングについて
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
AS45679 on FreeBSD
AS45679 on FreeBSDAS45679 on FreeBSD
AS45679 on FreeBSD
 
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
 
GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話
 
SSH力をつけよう
SSH力をつけようSSH力をつけよう
SSH力をつけよう
 
AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較
 
最近の PowerShell について
最近の PowerShell について最近の PowerShell について
最近の PowerShell について
 
Kongの概要と導入事例
Kongの概要と導入事例Kongの概要と導入事例
Kongの概要と導入事例
 
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Appsグリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
 
コンテナ時代にインフラエンジニアは何をするのか
コンテナ時代にインフラエンジニアは何をするのかコンテナ時代にインフラエンジニアは何をするのか
コンテナ時代にインフラエンジニアは何をするのか
 
AWSで動画共有サイトを作成して全社に公開
AWSで動画共有サイトを作成して全社に公開AWSで動画共有サイトを作成して全社に公開
AWSで動画共有サイトを作成して全社に公開
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
 
RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話
 
ChatGPT、 何が「できる」「みえる」ようになってきたのか!
ChatGPT、 何が「できる」「みえる」ようになってきたのか!ChatGPT、 何が「できる」「みえる」ようになってきたのか!
ChatGPT、 何が「できる」「みえる」ようになってきたのか!
 
NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話
 
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
 
Multibranch pipelineでいろいろ学んだこと
Multibranch pipelineでいろいろ学んだことMultibranch pipelineでいろいろ学んだこと
Multibranch pipelineでいろいろ学んだこと
 

Viewers also liked

Gangliaはじめました
GangliaはじめましたGangliaはじめました
Gangliaはじめましたyuzorock
 
Aws summits2014 サイバーエージェント_ユーザーの趣味嗜好に適した広告配信システムdynalystができるまでad_techstudioでの...
Aws summits2014 サイバーエージェント_ユーザーの趣味嗜好に適した広告配信システムdynalystができるまでad_techstudioでの...Aws summits2014 サイバーエージェント_ユーザーの趣味嗜好に適した広告配信システムdynalystができるまでad_techstudioでの...
Aws summits2014 サイバーエージェント_ユーザーの趣味嗜好に適した広告配信システムdynalystができるまでad_techstudioでの...Boss4434
 
AWS概要からサインアップまで! 〜アカウント開設 & 仮想サーバを立ててみる〜
AWS概要からサインアップまで! 〜アカウント開設 & 仮想サーバを立ててみる〜AWS概要からサインアップまで! 〜アカウント開設 & 仮想サーバを立ててみる〜
AWS概要からサインアップまで! 〜アカウント開設 & 仮想サーバを立ててみる〜Yasuhiro Horiuchi
 
Slerとaws運用の付き合い方
Slerとaws運用の付き合い方Slerとaws運用の付き合い方
Slerとaws運用の付き合い方Sato Shun
 
超入門クラウド&AWS
超入門クラウド&AWS超入門クラウド&AWS
超入門クラウド&AWSHiroyasu Yamada
 
AWS活用のいままでとこれから -東急ハンズの事例-
AWS活用のいままでとこれから -東急ハンズの事例-AWS活用のいままでとこれから -東急ハンズの事例-
AWS活用のいままでとこれから -東急ハンズの事例-Taiji INOUE
 
AWS 初心者向けWebinar 利用者が実施するAWS上でのセキュリティ対策
AWS 初心者向けWebinar 利用者が実施するAWS上でのセキュリティ対策AWS 初心者向けWebinar 利用者が実施するAWS上でのセキュリティ対策
AWS 初心者向けWebinar 利用者が実施するAWS上でのセキュリティ対策Amazon Web Services Japan
 
JAWS DAYS 2017直前! AWS総復習
JAWS DAYS 2017直前! AWS総復習JAWS DAYS 2017直前! AWS総復習
JAWS DAYS 2017直前! AWS総復習Masanori Hayashi
 
ここが知りたいAws導入までのato z配布用
ここが知りたいAws導入までのato z配布用ここが知りたいAws導入までのato z配布用
ここが知りたいAws導入までのato z配布用takaoka susumu
 
AWS初心者向けWebinar 失敗例を成功に変える AWSアンチパターンのご紹介
AWS初心者向けWebinar 失敗例を成功に変える AWSアンチパターンのご紹介AWS初心者向けWebinar 失敗例を成功に変える AWSアンチパターンのご紹介
AWS初心者向けWebinar 失敗例を成功に変える AWSアンチパターンのご紹介Amazon Web Services Japan
 
AWS Blackbelt 2015シリーズ Amazon CloudWatch & Amazon CloudWatch Logs
AWS Blackbelt 2015シリーズ Amazon CloudWatch & Amazon CloudWatch LogsAWS Blackbelt 2015シリーズ Amazon CloudWatch & Amazon CloudWatch Logs
AWS Blackbelt 2015シリーズ Amazon CloudWatch & Amazon CloudWatch LogsAmazon Web Services Japan
 
これでAWSマスター!? 初心者向けAWS簡単講座
これでAWSマスター!? 初心者向けAWS簡単講座これでAWSマスター!? 初心者向けAWS簡単講座
これでAWSマスター!? 初心者向けAWS簡単講座Serverworks Co.,Ltd.
 
Awsのインフラをデザインパターン駆使して設計構築
Awsのインフラをデザインパターン駆使して設計構築Awsのインフラをデザインパターン駆使して設計構築
Awsのインフラをデザインパターン駆使して設計構築Monstar Lab Inc.
 
AWS Black Belt Tech シリーズ 2015 - re:Invent 2015 最新アップデート速報
AWS Black Belt Tech シリーズ 2015 - re:Invent 2015 最新アップデート速報AWS Black Belt Tech シリーズ 2015 - re:Invent 2015 最新アップデート速報
AWS Black Belt Tech シリーズ 2015 - re:Invent 2015 最新アップデート速報Amazon Web Services Japan
 
エンターテイメント業界におけるAWS活用事例
エンターテイメント業界におけるAWS活用事例エンターテイメント業界におけるAWS活用事例
エンターテイメント業界におけるAWS活用事例Amazon Web Services Japan
 
[AWS初心者向けWebinar] AWSを活用したモバイルアプリの開発と運用
[AWS初心者向けWebinar] AWSを活用したモバイルアプリの開発と運用[AWS初心者向けWebinar] AWSを活用したモバイルアプリの開発と運用
[AWS初心者向けWebinar] AWSを活用したモバイルアプリの開発と運用Amazon Web Services Japan
 
AWS初心者向けWebinar AWSとのネットワーク接続入門
AWS初心者向けWebinar AWSとのネットワーク接続入門AWS初心者向けWebinar AWSとのネットワーク接続入門
AWS初心者向けWebinar AWSとのネットワーク接続入門Amazon Web Services Japan
 
WebサービスStartUP向け AWSスケーラブルな構成例
WebサービスStartUP向け AWSスケーラブルな構成例WebサービスStartUP向け AWSスケーラブルな構成例
WebサービスStartUP向け AWSスケーラブルな構成例Amazon Web Services Japan
 
AWSで始めるSAP HANA, express edition ~バイナリーインストーラ版~
AWSで始めるSAP HANA, express edition ~バイナリーインストーラ版~AWSで始めるSAP HANA, express edition ~バイナリーインストーラ版~
AWSで始めるSAP HANA, express edition ~バイナリーインストーラ版~Tetsuya Kawahara
 

Viewers also liked (20)

Gangliaはじめました
GangliaはじめましたGangliaはじめました
Gangliaはじめました
 
Aws summits2014 サイバーエージェント_ユーザーの趣味嗜好に適した広告配信システムdynalystができるまでad_techstudioでの...
Aws summits2014 サイバーエージェント_ユーザーの趣味嗜好に適した広告配信システムdynalystができるまでad_techstudioでの...Aws summits2014 サイバーエージェント_ユーザーの趣味嗜好に適した広告配信システムdynalystができるまでad_techstudioでの...
Aws summits2014 サイバーエージェント_ユーザーの趣味嗜好に適した広告配信システムdynalystができるまでad_techstudioでの...
 
インフォバーングループにおけるAWS活用事例5選
インフォバーングループにおけるAWS活用事例5選インフォバーングループにおけるAWS活用事例5選
インフォバーングループにおけるAWS活用事例5選
 
AWS概要からサインアップまで! 〜アカウント開設 & 仮想サーバを立ててみる〜
AWS概要からサインアップまで! 〜アカウント開設 & 仮想サーバを立ててみる〜AWS概要からサインアップまで! 〜アカウント開設 & 仮想サーバを立ててみる〜
AWS概要からサインアップまで! 〜アカウント開設 & 仮想サーバを立ててみる〜
 
Slerとaws運用の付き合い方
Slerとaws運用の付き合い方Slerとaws運用の付き合い方
Slerとaws運用の付き合い方
 
超入門クラウド&AWS
超入門クラウド&AWS超入門クラウド&AWS
超入門クラウド&AWS
 
AWS活用のいままでとこれから -東急ハンズの事例-
AWS活用のいままでとこれから -東急ハンズの事例-AWS活用のいままでとこれから -東急ハンズの事例-
AWS活用のいままでとこれから -東急ハンズの事例-
 
AWS 初心者向けWebinar 利用者が実施するAWS上でのセキュリティ対策
AWS 初心者向けWebinar 利用者が実施するAWS上でのセキュリティ対策AWS 初心者向けWebinar 利用者が実施するAWS上でのセキュリティ対策
AWS 初心者向けWebinar 利用者が実施するAWS上でのセキュリティ対策
 
JAWS DAYS 2017直前! AWS総復習
JAWS DAYS 2017直前! AWS総復習JAWS DAYS 2017直前! AWS総復習
JAWS DAYS 2017直前! AWS総復習
 
ここが知りたいAws導入までのato z配布用
ここが知りたいAws導入までのato z配布用ここが知りたいAws導入までのato z配布用
ここが知りたいAws導入までのato z配布用
 
AWS初心者向けWebinar 失敗例を成功に変える AWSアンチパターンのご紹介
AWS初心者向けWebinar 失敗例を成功に変える AWSアンチパターンのご紹介AWS初心者向けWebinar 失敗例を成功に変える AWSアンチパターンのご紹介
AWS初心者向けWebinar 失敗例を成功に変える AWSアンチパターンのご紹介
 
AWS Blackbelt 2015シリーズ Amazon CloudWatch & Amazon CloudWatch Logs
AWS Blackbelt 2015シリーズ Amazon CloudWatch & Amazon CloudWatch LogsAWS Blackbelt 2015シリーズ Amazon CloudWatch & Amazon CloudWatch Logs
AWS Blackbelt 2015シリーズ Amazon CloudWatch & Amazon CloudWatch Logs
 
これでAWSマスター!? 初心者向けAWS簡単講座
これでAWSマスター!? 初心者向けAWS簡単講座これでAWSマスター!? 初心者向けAWS簡単講座
これでAWSマスター!? 初心者向けAWS簡単講座
 
Awsのインフラをデザインパターン駆使して設計構築
Awsのインフラをデザインパターン駆使して設計構築Awsのインフラをデザインパターン駆使して設計構築
Awsのインフラをデザインパターン駆使して設計構築
 
AWS Black Belt Tech シリーズ 2015 - re:Invent 2015 最新アップデート速報
AWS Black Belt Tech シリーズ 2015 - re:Invent 2015 最新アップデート速報AWS Black Belt Tech シリーズ 2015 - re:Invent 2015 最新アップデート速報
AWS Black Belt Tech シリーズ 2015 - re:Invent 2015 最新アップデート速報
 
エンターテイメント業界におけるAWS活用事例
エンターテイメント業界におけるAWS活用事例エンターテイメント業界におけるAWS活用事例
エンターテイメント業界におけるAWS活用事例
 
[AWS初心者向けWebinar] AWSを活用したモバイルアプリの開発と運用
[AWS初心者向けWebinar] AWSを活用したモバイルアプリの開発と運用[AWS初心者向けWebinar] AWSを活用したモバイルアプリの開発と運用
[AWS初心者向けWebinar] AWSを活用したモバイルアプリの開発と運用
 
AWS初心者向けWebinar AWSとのネットワーク接続入門
AWS初心者向けWebinar AWSとのネットワーク接続入門AWS初心者向けWebinar AWSとのネットワーク接続入門
AWS初心者向けWebinar AWSとのネットワーク接続入門
 
WebサービスStartUP向け AWSスケーラブルな構成例
WebサービスStartUP向け AWSスケーラブルな構成例WebサービスStartUP向け AWSスケーラブルな構成例
WebサービスStartUP向け AWSスケーラブルな構成例
 
AWSで始めるSAP HANA, express edition ~バイナリーインストーラ版~
AWSで始めるSAP HANA, express edition ~バイナリーインストーラ版~AWSで始めるSAP HANA, express edition ~バイナリーインストーラ版~
AWSで始めるSAP HANA, express edition ~バイナリーインストーラ版~
 

Similar to OpenSSHの認証に証明書を使う

シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議Shinra_Technologies
 
Ncstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slide
Ncstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slideNcstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slide
Ncstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slideYoshifumi Hoda
 
認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤Masahiro Kiura
 
Docker hands on nifty sakura jul19
Docker hands on nifty sakura jul19Docker hands on nifty sakura jul19
Docker hands on nifty sakura jul19Masahito Zembutsu
 
IETF90 Web関連WG報告 #isocjp
IETF90 Web関連WG報告 #isocjpIETF90 Web関連WG報告 #isocjp
IETF90 Web関連WG報告 #isocjpKaoru Maeda
 
Nifty cloud jtf2014ハンズオン資料
Nifty cloud jtf2014ハンズオン資料Nifty cloud jtf2014ハンズオン資料
Nifty cloud jtf2014ハンズオン資料亮介 山口
 
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015Toru Yamaguchi
 
OAuthのHolder of Key Token
OAuthのHolder of Key TokenOAuthのHolder of Key Token
OAuthのHolder of Key TokenYuichi Nakamura
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbixsoftlayerjp
 
Serf という Orchestration ツール #immutableinfra
Serf という Orchestration ツール #immutableinfraSerf という Orchestration ツール #immutableinfra
Serf という Orchestration ツール #immutableinfraNaotoshi Seo
 
基礎教養としてのUbuntuサーバ_前編.pptx
基礎教養としてのUbuntuサーバ_前編.pptx基礎教養としてのUbuntuサーバ_前編.pptx
基礎教養としてのUbuntuサーバ_前編.pptxYuji Naito
 
DynamoDBの初心者に伝えたい初めて触るときの勘所
DynamoDBの初心者に伝えたい初めて触るときの勘所DynamoDBの初心者に伝えたい初めて触るときの勘所
DynamoDBの初心者に伝えたい初めて触るときの勘所Ryo Sasaki
 
VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話
VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話
VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話Takashi Uemura
 
安全なPHPアプリケーションの作り方2013
安全なPHPアプリケーションの作り方2013安全なPHPアプリケーションの作り方2013
安全なPHPアプリケーションの作り方2013Hiroshi Tokumaru
 
エンタープライズソフトウェア開発とOSS
エンタープライズソフトウェア開発とOSSエンタープライズソフトウェア開発とOSS
エンタープライズソフトウェア開発とOSSHiroshi Nakamura
 

Similar to OpenSSHの認証に証明書を使う (20)

シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議
 
Ncstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slide
Ncstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slideNcstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slide
Ncstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slide
 
認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤
 
SSH超入門
SSH超入門SSH超入門
SSH超入門
 
Docker hands on nifty sakura jul19
Docker hands on nifty sakura jul19Docker hands on nifty sakura jul19
Docker hands on nifty sakura jul19
 
Jaws-warrantee
Jaws-warranteeJaws-warrantee
Jaws-warrantee
 
今さら聞けない人のためのSSH超入門
今さら聞けない人のためのSSH超入門今さら聞けない人のためのSSH超入門
今さら聞けない人のためのSSH超入門
 
IETF90 Web関連WG報告 #isocjp
IETF90 Web関連WG報告 #isocjpIETF90 Web関連WG報告 #isocjp
IETF90 Web関連WG報告 #isocjp
 
Kintone hands on
Kintone hands onKintone hands on
Kintone hands on
 
Nifty cloud jtf2014ハンズオン資料
Nifty cloud jtf2014ハンズオン資料Nifty cloud jtf2014ハンズオン資料
Nifty cloud jtf2014ハンズオン資料
 
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
 
OAuthのHolder of Key Token
OAuthのHolder of Key TokenOAuthのHolder of Key Token
OAuthのHolder of Key Token
 
Ingress on GKE/GCE
Ingress on GKE/GCEIngress on GKE/GCE
Ingress on GKE/GCE
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
 
Serf という Orchestration ツール #immutableinfra
Serf という Orchestration ツール #immutableinfraSerf という Orchestration ツール #immutableinfra
Serf という Orchestration ツール #immutableinfra
 
基礎教養としてのUbuntuサーバ_前編.pptx
基礎教養としてのUbuntuサーバ_前編.pptx基礎教養としてのUbuntuサーバ_前編.pptx
基礎教養としてのUbuntuサーバ_前編.pptx
 
DynamoDBの初心者に伝えたい初めて触るときの勘所
DynamoDBの初心者に伝えたい初めて触るときの勘所DynamoDBの初心者に伝えたい初めて触るときの勘所
DynamoDBの初心者に伝えたい初めて触るときの勘所
 
VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話
VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話
VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話
 
安全なPHPアプリケーションの作り方2013
安全なPHPアプリケーションの作り方2013安全なPHPアプリケーションの作り方2013
安全なPHPアプリケーションの作り方2013
 
エンタープライズソフトウェア開発とOSS
エンタープライズソフトウェア開発とOSSエンタープライズソフトウェア開発とOSS
エンタープライズソフトウェア開発とOSS
 

More from Hironobu Saitoh

パブリッククラウドConoHaを使ってOpenStack APIを理解する
パブリッククラウドConoHaを使ってOpenStack APIを理解するパブリッククラウドConoHaを使ってOpenStack APIを理解する
パブリッククラウドConoHaを使ってOpenStack APIを理解するHironobu Saitoh
 
出張このべん in 大阪
出張このべん in 大阪出張このべん in 大阪
出張このべん in 大阪Hironobu Saitoh
 
このべん第5回 ConoHaでWordPressのお勉強!
このべん第5回 ConoHaでWordPressのお勉強!このべん第5回 ConoHaでWordPressのお勉強!
このべん第5回 ConoHaでWordPressのお勉強!Hironobu Saitoh
 
ConoHaにおける オブジェクトストレージの 利用動向
ConoHaにおける オブジェクトストレージの 利用動向ConoHaにおける オブジェクトストレージの 利用動向
ConoHaにおける オブジェクトストレージの 利用動向Hironobu Saitoh
 
ConoHa VPSの コマンドラインツールを作った
ConoHa VPSの コマンドラインツールを作ったConoHa VPSの コマンドラインツールを作った
ConoHa VPSの コマンドラインツールを作ったHironobu Saitoh
 
フロントエンドの人にも知ってもらいたいサーバーの話
フロントエンドの人にも知ってもらいたいサーバーの話フロントエンドの人にも知ってもらいたいサーバーの話
フロントエンドの人にも知ってもらいたいサーバーの話Hironobu Saitoh
 
PHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作ったPHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作ったHironobu Saitoh
 
クラウドのようなVPS 「ConoHa」 を使ってみよう +おまけ
クラウドのようなVPS 「ConoHa」 を使ってみよう +おまけクラウドのようなVPS 「ConoHa」 を使ってみよう +おまけ
クラウドのようなVPS 「ConoHa」 を使ってみよう +おまけHironobu Saitoh
 
クラウドのようなVPS 「ConoHa」 を使ってみよう。
クラウドのようなVPS 「ConoHa」 を使ってみよう。クラウドのようなVPS 「ConoHa」 を使ってみよう。
クラウドのようなVPS 「ConoHa」 を使ってみよう。Hironobu Saitoh
 
Unityのバックエンドに
ConoHaオブジェクトストレージ を使う
Unityのバックエンドに
ConoHaオブジェクトストレージ を使うUnityのバックエンドに
ConoHaオブジェクトストレージ を使う
Unityのバックエンドに
ConoHaオブジェクトストレージ を使うHironobu Saitoh
 
オブジェクトストレージを使ってイメージビューアを作ってみる
オブジェクトストレージを使ってイメージビューアを作ってみるオブジェクトストレージを使ってイメージビューアを作ってみる
オブジェクトストレージを使ってイメージビューアを作ってみるHironobu Saitoh
 
20140903groonga発表資料
20140903groonga発表資料20140903groonga発表資料
20140903groonga発表資料Hironobu Saitoh
 
レガシーPHPアプリ(10年もの)を運用している話
レガシーPHPアプリ(10年もの)を運用している話レガシーPHPアプリ(10年もの)を運用している話
レガシーPHPアプリ(10年もの)を運用している話Hironobu Saitoh
 

More from Hironobu Saitoh (14)

パブリッククラウドConoHaを使ってOpenStack APIを理解する
パブリッククラウドConoHaを使ってOpenStack APIを理解するパブリッククラウドConoHaを使ってOpenStack APIを理解する
パブリッククラウドConoHaを使ってOpenStack APIを理解する
 
出張このべん in 大阪
出張このべん in 大阪出張このべん in 大阪
出張このべん in 大阪
 
このべん第5回 ConoHaでWordPressのお勉強!
このべん第5回 ConoHaでWordPressのお勉強!このべん第5回 ConoHaでWordPressのお勉強!
このべん第5回 ConoHaでWordPressのお勉強!
 
ConoHaにおける オブジェクトストレージの 利用動向
ConoHaにおける オブジェクトストレージの 利用動向ConoHaにおける オブジェクトストレージの 利用動向
ConoHaにおける オブジェクトストレージの 利用動向
 
ConoHa VPSの コマンドラインツールを作った
ConoHa VPSの コマンドラインツールを作ったConoHa VPSの コマンドラインツールを作った
ConoHa VPSの コマンドラインツールを作った
 
フロントエンドの人にも知ってもらいたいサーバーの話
フロントエンドの人にも知ってもらいたいサーバーの話フロントエンドの人にも知ってもらいたいサーバーの話
フロントエンドの人にも知ってもらいたいサーバーの話
 
PHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作ったPHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作った
 
クラウドのようなVPS 「ConoHa」 を使ってみよう +おまけ
クラウドのようなVPS 「ConoHa」 を使ってみよう +おまけクラウドのようなVPS 「ConoHa」 を使ってみよう +おまけ
クラウドのようなVPS 「ConoHa」 を使ってみよう +おまけ
 
クラウドのようなVPS 「ConoHa」 を使ってみよう。
クラウドのようなVPS 「ConoHa」 を使ってみよう。クラウドのようなVPS 「ConoHa」 を使ってみよう。
クラウドのようなVPS 「ConoHa」 を使ってみよう。
 
Unityのバックエンドに
ConoHaオブジェクトストレージ を使う
Unityのバックエンドに
ConoHaオブジェクトストレージ を使うUnityのバックエンドに
ConoHaオブジェクトストレージ を使う
Unityのバックエンドに
ConoHaオブジェクトストレージ を使う
 
オブジェクトストレージを使ってイメージビューアを作ってみる
オブジェクトストレージを使ってイメージビューアを作ってみるオブジェクトストレージを使ってイメージビューアを作ってみる
オブジェクトストレージを使ってイメージビューアを作ってみる
 
Conoha VPSについて
Conoha VPSについてConoha VPSについて
Conoha VPSについて
 
20140903groonga発表資料
20140903groonga発表資料20140903groonga発表資料
20140903groonga発表資料
 
レガシーPHPアプリ(10年もの)を運用している話
レガシーPHPアプリ(10年もの)を運用している話レガシーPHPアプリ(10年もの)を運用している話
レガシーPHPアプリ(10年もの)を運用している話
 

OpenSSHの認証に証明書を使う

  • 1. OpenSSHの認証に 証明書を使う #ssmjp@conoha - GMO Yours Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved. 2014年10月27日
  • 2. 自己紹介 • ひろのぶ(@hironobu_s) • Web系開発&インフラ屋 • 所属:GMOインターネット • 最近ConoHaの中の人になりました • 緑陣営Lv7 Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
  • 3. conoha.jpのブログ書いてます Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
  • 4. 1分ではじめる、クラウドのようなVPS ConoHa VPS • VPSホスティングサービス • 古い言い方だとレンタルサーバ • 仮想サーバを930円から • さまざまなOSに対応 https://www.conoha.jp/unity1025
  • 5. 1分ではじめる、クラウドのようなVPS ConoHaクーポン • ConoHaのサービスを3,000円分使えま す • VPSでもオブジェクトストレージでも • 新規アカウント登録すると、 さらに1,500円分追加されます • あわせて4,500円 • 一番安いプランで4ヶ月分 https://www.conoha.jp/unity1025
  • 6. 宣伝乙w Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
  • 7. SSHの認証方式 Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
  • 8. SSHの認証方式 Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved. • パスワード認証 • Obsolete • 公開鍵認証 • 最もポピュラー? • LDAP認証 • 一元管理できるが、構築すると大がかり • 弊社内はこれ。
  • 9. 証明書認証 • バージョン5.4からサポート • CentOSなどの5.3系でも使えます • 独自CA(認証局)を作り、ユーザやホストの公開鍵に 署名して証明書とする • CAの鍵を信用し、CAによって署名された証明書を 持つユーザ/ホストを認証する方式 Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
  • 11. 公開鍵認証との違い 公開鍵認証証明書による認証 Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved. ユーザ認証 ユーザの公開鍵をサーバ上の authorized_keysファイルに追加する。 サーバは乱数を生成し、ユーザの公開 鍵で暗号化し送信。ユーザは暗号鍵で 復号し乱数のハッシュ値を計算、それ をサーバに送信。サーバはハッシュ値 を照合する。 あらかじめユーザの公開鍵にCAが署名を する。またサーバはCAの公開鍵を保持す る。ユーザは接続時に署名済みの公開鍵( 証明書)を送信し、サーバはそれを検証す る ホスト認証 ユーザの接続時に、サーバは自身の公 開鍵とフィンガープリントを送信する 。ユーザはそれを確認し、公開鍵を受 け入れるかを決める あらかじめサーバの公開鍵にCAが署名を する。ユーザはCAの公開鍵を保持してお り、接続時にサーバから送信された署名済 みの公開鍵(証明書)を検証する。
  • 12. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved. つまり おおざっぱに言うとSSL/TLSと同じです。
  • 13. 何が便利なのか • ホストにはCAの公開鍵を設定しておけば良い • ユーザの追加削除のたびに公開鍵の登録/削除 が不要 • LDAPを構築するより運用もお手軽? (規模による) Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
  • 14. こんなこともできる • ユーザをログイン禁止にしたい(証明書の失効) • 有効期限を設定したい(証明書に有効期限を設定する) • 実際のユーザと、ログイン可能なシステムユーザを 分けて管理したい(Principalsの設定) • ユーザ毎にポートフォワード(port-forwarding)やエー ジェント転送(agent-forwarding)の許可をしたい Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
  • 15. CA(認証局)って何? Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
  • 16. Certificate Authority 電子的な身分証明書を発行し、管理する機関。認証局 、CA局またはCAセンターと呼ぶ場合もある。CAには、“ パブリックCA”と“プライベートCA”があり、前者は本人性 を第三者が発行する証明書により証明するもので、電子 商取引など不特定多数の広い範囲で運用される。 出典: http://www.atmarkit.co.jp/aig/02security/ca.html Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
  • 17. 難しそうに見えますが • 要は鍵のペアです。 • 普通にssh-keygenで作った鍵ペアが、そのまま CAの鍵として使えます。 • コマンドを見てもらった方がわかりやすいです Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
  • 18. やってみよう Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
  • 19. CA(認証局)の鍵ペアを作る Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved. 手順(1) [hiro@MBP]# ssh-keygen -f ca.key Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in ca.key. Your public key has been saved in ca.key.pub. The key fingerprint is: d8:c3:3e:0b:0e:e3:1d:de:f5:76:18:6a:76:2e:7d:80 hiro@ The key's randomart image is: (中略) [hiro@MBP]# ls -l total 16 -rw------- 1 hiro staff 1675 10 22 11:26 ca.key -rw-r--r-- 1 hiro staff 416 10 22 11:26 ca.key.pub
  • 20. 手順(2) ユーザの鍵ペアを作る [hiro@MBP]# ssh-keygen -f user.key Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in user.key. Your public key has been saved in user.key.pub. The key fingerprint is: f6:fa:6d:a7:3c:10:f7:56:05:4d:d6:f8:d0:b8:19:e9 hiro@ The key's randomart image is: (中略) [hiro@MBP]# ls -l total 32 -rw------- 1 hiro staff 1675 10 22 11:26 ca.key -rw-r--r-- 1 hiro staff 416 10 22 11:26 ca.key.pub -rw------- 1 hiro staff 1675 10 22 11:35 user.key -rw-r--r-- 1 hiro staff 416 10 22 11:35 user.key.pub Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
  • 21. 手順(3) ユーザの公開鍵にCA鍵で署名 [hiro@MBP]# ssh-keygen -s ca.key -I user_root -n root user.key.pub Signed user key user.key-cert.pub: id "user_root" serial 0 for root valid from 2014-10- 22T11:58:00 to 2014-10-23T11:59:53 [hiro@MBP]# ls -l total 40 -rw------- 1 hiro staff 1675 10 22 11:26 ca.key -rw-r--r-- 1 hiro staff 416 10 22 11:26 ca.key.pub -rw------- 1 hiro staff 1675 10 22 11:35 user.key -rw-r--r-- 1 hiro staff 1518 10 22 12:01 user.key-cert.pub -rw-r--r-- 1 hiro staff 416 10 22 11:35 user.key.pub • -s: 署名に使用する秘密鍵を指定。 • -I: 公開鍵に署名する際のSpecifyを指定。ログの記録名。 • -n: Principalの指定。ログイン可能なUNIXユーザ名を列挙。 Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved. ←NEW!
  • 22. 手順(4) ログインしてみよう [hiro@MBP]# ssh -v -i ~/.ssh/user.key root@example.com ↓こんな表示が出るはず debug1: Offering RSA-CERT public key: user.key debug1: Server accepts key: pkalg ssh-rsa-cert-v01@openssh.com blen 1094 debug1: ssh_rsa_verify: signature correct Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
  • 23. ハマったこと Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
  • 24. CentOS6はオプションが違う • CentOS6.5に含まれるOpenSSH-5.3p1の ssh-keygenコマンド • Principalを設定する重要な-nオプションが、別 のオプションに割り当てられている。 (Extract public key from smartcard) Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
  • 26. _人人人人人人_ > 2つある<  ̄Y^Y^Y^Y^Y ̄ Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
  • 27. つまり・・・ • manも間違ってる • CentOS6の場合-nオプションはPrincipalの設定 として機能しない • 署名ができない(署名にPrincipalの設定は必須) Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved. • 詰む
  • 28. • 一応、バグ報告は上がっていた • https://bugs.centos.org/view.php?id=6904 • -nじゃなくて-Zに割り当てられていた • manには書かれていない • 知らんがな・・・ (CentOS7では修正されてました) Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
  • 29. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved. まとめ • ユーザやサーバがそれなりに多い • けどLDAPを作るのは面倒だ • と言う場合にいいかも • 続きはWebで https://www.conoha.jp/blog/tech/3659.html
  • 30. ご清聴ありがとうございました Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.