@Pkun

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

公開鍵で何が秘密鍵とconfigの設定が分かりません

解決したいこと

)### 解決したいこと

git bushでしょうか?
何が公開鍵で何が秘密鍵なのか分かりません
https://qiita.com/0ta2/items/25c27d447378b13a1ac3
このサイトを参考にしても分かりませんでした。
(下は自分PC写真です)
2022-08-30_18h03_08.png

-rw-r--r-- 1 yuuit 197609 464 Aug 28 20:53 id_ed25519
-rw-r--r-- 1 yuuit 197609 103 Aug 27 11:07 id_ed25519.pub
上でしたらid_ed25519が秘密鍵で
下がid_ed25519.pub公開鍵でしょうか?

あとは
-rw-r--r-- 1 yuuit 197609 2655 Aug 27 12:52 id_rsa
-rw-r--r-- 1 yuuit 197609 575 Aug 27 12:52 id_rsa.pub
これが秘密鍵でid_rsa
これが公開鍵id_rsa.pub
でしょうか?

あと、
config設定なんですが、
config設定
(以下自分PC写真)
2022-08-30_18h17_51.png

(以下参考サイト転用)
$ vim ~/.ssh/config
コマンド後
下記を追記

Host github
HostName github.com
IdentityFile ~/.ssh/id_rsa_github #秘密鍵を指定
User git

下記を追記と書いてあるんですが、
コピー&ペーストで書いたはいいんですけど、
それを更新するボタンが、どこにも見当たらないんです。
どこをどうすれば更新した事になるんですか?

分かる方、どうかよろしくお願いしますm(_ _)m

1 likes

3Answer

回答者コメントの欄でMarkdownが使えないので,こちらで返信に答えます.

質問ができるようになってるのがこのサイトです。制限があるわけでもありません。運営に言ってもらいたいです。

質問に制限はなくとも,マナーは存在します.コミュニティガイドラインのいくつかに反則しているように見えるので,改善がなければ通報の可能性もあります.マナーの1つとして,質問のフォーマットにある「自分で試したこと」の欄の記述をお願いしたい.というのが私の意志です.

調べる力を身に付けるのは10年以上前の話だと思います。

残念ながら,10年前よりも調べる力はより必要になってきました.年単位でプログラミング言語のバージョンアップが行われ,AIの技術は進歩し,多数の記事が世の中に出てくるようになりました.これらの中から,自分の抱えている課題を解決するための文献を適切に取捨選択する技術が必要になっています.

要はグーグル検索でしょうか?

それに絞った話をしていません.以前の解答ではmanコマンドを使った例を示したはずです.実際,このコマンドを使うことでssh-keygenのマニュアルを参照すれば,上で不明だと言っていた公開鍵と秘密鍵がどれなのかについて,

$ man ssh-keygen
()
FILES
     ~/.ssh/id_dsa
     ~/.ssh/id_ecdsa
     ~/.ssh/id_ecdsa_sk
     ~/.ssh/id_ed25519
     ~/.ssh/id_ed25519_sk
     ~/.ssh/id_rsa
             Contains the DSA, ECDSA, authenticator-hosted ECDSA, Ed25519, authenticator-hosted Ed25519 or RSA authentication identity of the user.  This file should not be readable
             by anyone but the user.  It is possible to specify a passphrase when generating the key; that passphrase will be used to encrypt the private part of this file using
             128-bit AES.  This file is not automatically accessed by ssh-keygen but it is offered as the default file for the private key.  ssh(1) will read this file when a login
             attempt is made.

     ~/.ssh/id_dsa.pub
     ~/.ssh/id_ecdsa.pub
     ~/.ssh/id_ecdsa_sk.pub
     ~/.ssh/id_ed25519.pub
     ~/.ssh/id_ed25519_sk.pub
     ~/.ssh/id_rsa.pub
             Contains the DSA, ECDSA, authenticator-hosted ECDSA, Ed25519, authenticator-hosted Ed25519 or RSA public key for authentication.  The contents of this file should be
             added to ~/.ssh/authorized_keys on all machines where the user wishes to log in using public key authentication.  There is no need to keep the contents of this file
             secret.
()

このように明示しているにも関わらず,「自分で試したこと」の欄が無い,すなわちあなたはmanコマンドの実行をしていないんですよね?この点に関して「成長を感じられない」と言ったまでのことです.また,このような方法で情報を得られるので,Google検索に限った話でもありません.あくまで「自分で試したこと」の対象に,

  • いろんなコマンド/プログラムを試してみた.
  • わからないことをGoogle検索をした.
  • 検索結果で提案されている内容を試した.

があり,Google検索は1つのプロセスに過ぎません.実際,上の解答では秘密鍵であることを調べるために,ファイルの冒頭と文末を表示するコマンドを使うことで,PRIVATE KEYの文字が確認でき,秘密鍵であることを示しました.ファイルの中身を表示するコマンドを知らないなら,それこそ検索の力に頼ることになります.調べる→試す→調べる→試すの繰り返しで問題解決をするのが常套手段のはずです.

それも、調べる事が分かる人だけの特権的な感覚だったと思います。

近年,多数の人の犠牲の上に,エラー文をコピペで検索するだけで解決法が見つかったりするようになっています.特権的な感覚であることを理由に,1度も検索しないのは理に適っていません.

現在,manコマンド,ましてや検索エンジンに聞いてわかることを人に聞かないのが一般的な感覚になっています.

自分はいろいろと挫折しました。しまいには何を調べたらいいかすら忘れてしまいます。(略)コミュニティの力を使えば専門分野の人だけのインターネットではないです。

確かにQiita1QuoraStackOverflowteratailで質問をすることで答えが得られるようになりました.しかしこれらのサービスでは冒頭で述べたとおり,「自分で試したこと」を記述して欲しいと考えているコミュニティです.以下に各サービスの質問の際に表示される警告文の実例を示します.

  • Quora: 質問フォームで「すでに同じ質問がされていないか確認してください」と言われます.せめてQuora内で質問の検索をしてってことです.
  • StackOverflow: 質問の前に「Asking a good question」の欄で「Describe what you’ve tried」と言われています.日本語に直すと「あなたの試したことを記述して」です.
  • teratail: 「質問する前に確認していただきたいこと」の内容に「質問する前にわからないことを調べましょう」があります.質問の丸投げに関しても言及されています.

コミュニティのルールがあなたに合わないのであれば他の方法を取るしかありません.確かに,「コミュニティの力を使えば専門分野の人だけのインターネットではない」ですが,そのコミュニティのルールやマナーが示していることは,最低限守るべきことだと考えます.これを守ることができないのであれば,あなたが何もトライせず調べることもせず,ただ解答だけを求めても良いコミュニティを探してください.

そこで,一つの手としてTechAcademyやUdemyなどの,初心者向けの講座や生徒に対して質疑応答を相手してくれるサービスを挙げておきます.彼らはお金をもらっているので,どのような質問にも答えてくれるでしょう.

ただ,某オンラインスクールの解説でさえも,疑問/エラー/問題の解決にあたって必要なスキルに検索力を強調されているので,おそらくどのコミュニティでも要求される力だと考えます.

独学で進めていくなら調べる力を,他人の力に引っ張ってもらって成長したいならオンラインスクールを,それぞれ活用するべきです.後者でも検索力について学べることでしょう.今の時代は便利ですからね,自分に合うと感じたものを活用すると良いと思います.

  1. StackOverflowおよびteratailはQ&Aに特化したサービスであることに対し,Qiitaは後学のため,エンジニアにとって再利用性・汎用性の高い記事が書かれることを目的としています.質問も同様です.あなたと同じ疑問を持った人のため,再利用性・汎用性の高い質問と解答が記述されるべきです.これを守らないあなたに貼られるレッテルは「自己中心的」です.

12Like

先に回答が長文になることをお詫びします。
(主に「さいごに」のおまけ部分)


)### 解決したいこと
git bushでしょうか?

こちらは誤って記載してしまった感じでしょうか?


上記は除いて、とりあえず質問したいことは

  1. ~/.ssh/配下の公開鍵、秘密鍵はどれか(自分の認識が合っているか)
  2. vim ~/.ssh/configを実行したはいいが、保存方法が分からない

ですね。

正確な回答は先の回答者の方がされているので、
敢えて噛み砕いた記述をしている部分があります。
(正確でない表現があることをご了承下さい)


1についてですが、

-rw-r--r-- 1 yuuit 197609 464 Aug 28 20:53 id_ed25519
-rw-r--r-- 1 yuuit 197609 103 Aug 27 11:07 id_ed25519.pub
上でしたらid_ed25519が秘密鍵で
下がid_ed25519.pub公開鍵でしょうか?

あとは
-rw-r--r-- 1 yuuit 197609 2655 Aug 27 12:52 id_rsa
-rw-r--r-- 1 yuuit 197609 575 Aug 27 12:52 id_rsa.pub
これが秘密鍵でid_rsa
これが公開鍵id_rsa.pub
でしょうか?

上記の認識で合っています。


2についてですが、

それを更新するボタンが、どこにも見当たらないんです。
どこをどうすれば更新した事になるんですか?

残念ながら、今目の前にしている
コマンドの世界(黒い画面)には「ボタン」という概念がありません。
全てコマンドでコンピューターに指示を出す必要があります。

そして

$ vim ~/.ssh/config

これは何をしているかと言うと、
「Vim」という「テキストエディタ」で「config」というファイルを開く
ということをしています。

Windowsであれば「メモ帳(notepad)」という「テキストエディタ」がありますが、
「Vim」はLinux版の「テキストエディタ」の一つだと思ってください。
(但し、比較にならないくらい高機能でかつ操作が複雑です)

「じゃあ、どう指示を出せば保存してくれるの?」というと
こちらの記事の「Vimを使う最低限の流れ」という項目の
「4」「5」が参考になるかと思います。

■参考(Vimについて)

余談ですが
「Software Design」という月刊誌の
「2022年7月号」に「Vimの基本」特集がありますので
チートシートとして購入して手元に置いておいても良いかもしれません。

■参考(Software Design)


さいごに、より良く質問を書くためのちょっとした意見を
おまけで記載させてもらいます。
( 完全な個人的意見かつ文句や苦情ではないので
落ち着いてゆっくり読んでもらえたら幸いです
)

指標にするのはQiita公式から出ているこちらのガイドラインにします。

■指標(Qiitaより - 良い質問を書くためのガイドライン)

中にこのような記載があります。

Qiitaに投稿した質問はフィードに表示され、他のユーザーが目にすることになります。また検索から質問を見つける人もいるでしょう。あなたの質問が読んだ人の役に立つかどうかを意識してみましょう。

自分のトラブルシューティングのための質問でも、少し気をつけるだけでぐっと価値のある質問にすることができます。

上記をどのように捉えるかは
それこそ「人それぞれ」ですが「少しでも読みやすい質問を書く」という
観点で考えてみましょう。

Qiitaの記事や質問は「Markdown記法」という特殊な
記述方法を採用しており様々な表現をすることができます。

■参考(Markdown記法 チートシート)

例えば質問のこの部分ですが

(以下参考サイト転用)
$ vim ~/.ssh/config
コマンド後
下記を追記

Host github
HostName github.com
IdentityFile ~/.ssh/id_rsa_github #秘密鍵を指定
User git

「コードブロック」という記述方法を利用+整形すると

■例

以下、一部参考サイトから転用

$ vim ~/.ssh/config

上記のコマンドを実行後、以下を追記しました。

Host github
  HostName github.com
  #秘密鍵を指定
  IdentityFile ~/.ssh/id_rsa_github
  User git

というような見た目になります。
どうでしょう、
メリハリがついてグッと読みやすくなったと感じませんか?

書き方ですが

```bash
$ vim ~/.ssh/config
```

上記のように
`(バッククオート)3つ言語名(コマンドの場合はbash)」
から
`(バッククオート)3つ」
で囲んだ部分が「コードブロック(黒い部分)」として表示されます。
(「`(バッククオート)」は「Shiftキー」と「@」のキーを同時押しで入力できます)

これの良いところは「見やすい」だけではなく
「ワンクリックでコピー」できるため、回答者の方々が
コピー、実行して質問者の方の状況をより具体的に把握することにより
質問に対する回答数増加、適切な回答率の増加が期待できます。

このように少しでも工夫することで
その場の回答に加え、後で自分が読み返した時に分かりやすい
などのメリットが増えます。

質問者の方が最初に「Git」「GitHub」が分からない状態だった
ところからなんとかして少しづつ前進してきていることは分かります。

ただ、そこに+αで「少しでも読みやすい質問を書く」を意識することで
様々なメリットが見出だせると思うので
一寸でもこういうテクニックを利用し始めてみてはどうでしょうか。


重ね重ねではありますが、
長文になってしまったことをお詫びいたします。(主におまけの部分)

8Like

ファイル名の末尾.pubはPublicの略だと考えてください.公開鍵は英語にするとPublic Keyですよね.逆に末尾にそれがないファイルは中身を確認すると良いです.

$ head -n 1 .ssh/id_rsa; tail -n 1 .ssh/id_rsa

とすればファイルの冒頭と文末それぞれ1行ずつ表示し,

-----BEGIN OPENSSH PRIVATE KEY-----
-----END OPENSSH PRIVATE KEY-----

という文字が確認できます.Private Keyは秘密鍵ですね.

したがって,

  • 公開鍵: id_rsa.pubid_ed25519.pub
  • 秘密鍵: id_rsaid_ed25519

という認識で間違いありません.

下記を追記と書いてあるんですが、コピー&ペーストで書いたはいいんですけど、それを更新するボタンが、どこにも見当たらないんです。どこをどうすれば更新した事になるんですか?

あなたが追記に用いたコマンド名はvimでやりたいことは「保存」になりますね,並べて「vim 保存」でググってみましょうか.たくさん答えが出てきますよ.検索クエリを置いておきます.

vimの基本操作は以下のサイトを参考にすると良いでしょう.

それを更新するボタンが、どこにも見当たらないんです

今あなたが直面しているのはCUI(Character User Interface)で,ボタンがあるようなGUI(Graphical User Interface)とは対なるものです.

したがってボタンはありません.全てコマンドでの操作になります.

GUIは直感的に操作できて特に説明もなく使えますが,CUIではそうはいきません.コマンドを知らなければ何もできないわけですからね.そこで大事になるのが検索力と読解力です.質問力なんかではありません.上の例で言えば「コマンド名+やりたいこと」で検索するのはもちろん,出てきた内容が英語だからといって忌避するのではいつまで経っても目標を達成し得ません.調べる力を身につけることで,あなたの成長を見せてください.ちなみに質問も見づらい/読みづらいので成長を感じられません,最低限,参考にした記事でコードブロックが使われているなら,質問の際に同じ内容を載せるときにもコードブロックを使ってください.コードブロックを使わないことでインデントが消えているは致命的です.解答者に対して再現性を担保できず,質問そのものが無意味になります.

6Like

Comments

  1. @Pkun

    Questioner

    質問ができるようになってるのがこのサイトです。制限があるわけでもありません。運営に言ってもらいたいです。成長が感じられるようにする機能を付けるとか。調べる力を身に付けるのは10年以上前の話だと思います。要はグーグル検索でしょうか?それも、調べる事が分かる人だけの特権的な感覚だったと思います。自分はいろいろと挫折しました。しまいには何を調べたらいいかすら忘れてしまいます。今の時代は違います。やる気があればなんでも覚えられます。10年以上前の調べる事が分かる人だけのグーグル検索ではないし、コミュニティの力を使えば専門分野の人だけのインターネットではないです。時代は少しづつ変わっています。たぶん気づかない人の方が多いかもしれません。と自分は思います。DTMもパソコンの組み立ても動画編集も、ブログの書き方も全部こうやって覚えています。全部調べてたら10年以上かかってしまいます。いや、できてないかもですね。それ以前に。時代は変わりつづけてます。
  2. 下に長ったらしく答えましたが,私が言いたいのは「マナーを守って『自分で試したこと』の欄を書いてください」ということです.

    公開鍵と秘密鍵についてはご自分で調べられた上でわからない,確認がしたいとのことでしたが,それに続くvimの件は何も調べてないんですよね?
    次回に期待しています.頑張ってください

Your answer might help someone💌