質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

91.37%

  • SSH

    372questions

    SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

公開鍵暗号の使い方について

解決済

回答 3

投稿 2017/11/21 16:45

  • 評価
  • クリップ 1
  • VIEW 76

tamagotomato

score 32

マシンAにマシンB1, B2で公開鍵暗号方式によって接続したい場合、マシンAに一つの公開鍵を持たせて、対応する同一の秘密鍵をB1, B2に持たせますか?それとも、マシンAに公開鍵を2つ持たせて、B1, B2にそれぞれ対応する秘密鍵を持たせますか?

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

checkベストアンサー

+1

暗号鍵ペアというのは「アクセスしたい人」が作るものです。暗号鍵ペアはドアと鍵をイメージしてください。例えばあなたがAさんの家(サーバ)に入るため、家主の許可を得て自分用のドア(公開鍵)をAさんの家(サーバ)に作りました。あなた専用のドア(公開鍵)は、あなたが持っている鍵(秘密鍵)でしか開けられません。あなた専用のドア(公開鍵)はなんと魔法の力で簡単に取り付け(サーバ側のauthorized_keysへの登録)ができて、Bさんの家にもCさんの家にも、家主の許可さえあれば簡単に複製、設置できます。なお、ドア(公開鍵)から鍵(秘密鍵)の形を逆算して割り出すことはできません。逆に、鍵(秘密鍵)の形からドア(公開鍵)を作ることは可能です。ドア(公開鍵)のほうは、どれだけ他人に見られようと複製されようと、開かないドア(公開鍵)自体に意味は無いですし、先述の通りドア(公開鍵)をどんなに解析しても鍵(秘密鍵)を作ることはできません(これが公開鍵と呼ばれる所以です)。
鍵(秘密鍵)は他人に渡したり複製しないほうが安全です。普通は自分専用の鍵(秘密鍵)をひとつだけ持ち歩き、入りたい家(サーバ)ドア(公開鍵)を付けるものです。

つまり、マシンB1、B2で【合鍵としての秘密鍵】を使うならB1、B2は同じ秘密鍵、Aには1つの公開鍵を使います。しかし、これは秘密鍵が漏洩するセキュリティリスクが2倍になるので、私ならB1、B2それぞれで別々の秘密鍵を作って、Aに2つの公開鍵を登録します。

投稿 2017/11/21 17:11

編集 2017/11/21 17:16

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

運用法次第ではありますが、一般には細かく鍵を切り分けて管理するほうが適切です。とりわけ、「同じ秘密鍵を複数人がそれぞれのマシンに入れて共有する」というような運用は、やるべきではありません。

SSHで使う~/.ssh/authorized_keysは、何行でも書けるようになっています。

投稿 2017/11/21 16:50

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

個人的な考えですが、同一ユーザーなのであれば、マシンAに一つの公開鍵を持たせて、対応する同一の秘密鍵をB1, B2に持たせます。
もちろんクライアントとなるマシンごとに異なる鍵ペアを生成してもよいかとは思います。

投稿 2017/11/21 16:49

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/11/21 16:52

    どうすべきかは、マシンB1とマシンB2の関係性次第ということにもなりますね(全く逆の回答をしましたが、そこの前提が違っていれば当然答えも違ってきますし)

    キャンセル

  • 2017/11/21 17:35 編集

    おっしゃる通り、質問の内容からイメージした利用シーンによって、各回答者で意見が異なることがあり得るものと思います。
    私個人としては鍵ペアを定期的に交換する運用を想像していましたので、クライアントごとに鍵ペアを分ける必要性までは想定していませんでした。
    分けてもいずれかの秘密鍵が漏洩すればマシンAにはログインできてしまいますので。
    パスフレーズ等を設定していればまた別なのかもしれませんが。
    また、アカウントを共用しているという前提もありませんでした。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

ただいまの回答率

91.37%

関連した質問

  • 受付中

    リモートデスクトップは繋がるが、pingが通らない

    マシン1:Windows XP Pro マシン2:Windows 7 Pro マシン1からマシン2へのリモートデスクトップ接続→繋がる マシン2からマシン1へのリモートデスクトッ

  • 解決済

    Lessなどターミナルを使うプログラムの実行方法は?

    ドットインストールを参考にローカル開発環境を立ち上げ、Cyberduckもインストールしたのですが、今私ができることはPHPを動かすことグラおです。Lessなどをしたいのですがle

  • 解決済

    authorized_keyの設定項目について

    authorized_keyの設定で指定したコマンドだけを 実行させるときの設定で以下がありました。 http://d.hatena.ne.jp/lurker/20060728/1

  • 解決済

    [Azure]Kerberos認証について

    AzureにてADサーバーを構築し、ドメイン管理を予定しているのですが、 Kerberos事前認証に失敗してしまいます。 Kerberos認証を運用するにあたり、設定しなければなら

  • 受付中

    VirutalBoxのファイルは外部媒体に移動してそこから起動できますか。

    Virtual Boxの初歩的な機能しか知らない者です。 MacでVirtual Boxのディスクイメージファイルなどで HDDの容量が逼迫しています。 外付けのHD

  • 解決済

    CVSからgit(Git for Windows)への移行について

    お世話になります。 現在CVSを利用して、ソース管理&開発を行っています。 今回既にあるgitサーバにソースを移行することとなりましたが、ソースだけでなく履歴情報も移行させたい

  • 解決済

    vagrant provisionのコマンドについて

    vagrantでphpの仮想環境を作っております。適当にネットの情報を参考にやっておりましたが、Vagrantファイルにシェルスクリプトでhttpdをonにしたりファイヤーウォール

  • 受付中

    Azureサーバーに構築したOSの複製方法

    Azureサーバーにて一つ目のサーバーを構築いたしました。 そして、そのサーバーと全く同じ内容のサーバーをコピーする方法があるそうなのですが、調べてみてもわかりませんでした。

同じタグがついた質問を見る

  • SSH

    372questions

    SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。