「秘密鍵・公開鍵」の版間の差分

提供: オレッジベース
移動先: 案内検索
(ページの作成:「=== 概要 === * ~/.ssh ** permission : 700 ** 基本的に秘密鍵や公開鍵を置いておくところ。 * id_rsa ** permission : 600 ** 秘密鍵 ** 誰にも渡...」)
 
 
16行目: 16行目:
 
** permission : 600
 
** permission : 600
 
** 登録された id_rsa.pub の内容が記載される。
 
** 登録された id_rsa.pub の内容が記載される。
 +
* ~/.ssh/config
 +
** permission : 600
 +
** ssh接続の設定を保存しておく。
  
 
=== 秘密鍵・公開鍵の作成 ===
 
=== 秘密鍵・公開鍵の作成 ===
90行目: 93行目:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
あとは通常デフォルト値で問題ないはず。
 
あとは通常デフォルト値で問題ないはず。
 +
 +
=== ~/.ssh/config ===
 +
<syntaxhighlight lang="bash">
 +
$ touch ~/.ssh/config
 +
$ chmod 600 ~/.ssh/config
 +
$ vim ~/.ssh/config
 +
Host <NANTOKAKANTOKA>
 +
    HostName <domain.com>
 +
    IdentityFile <ID_RSA_PATH>
 +
    User <USER_NAME>
 +
    TCPKeepAlive yes
 +
    Port <PORT>
 +
</syntaxhighlight>

2020年10月9日 (金) 08:49時点における最新版

概要

  • ~/.ssh
    • permission : 700
    • 基本的に秘密鍵や公開鍵を置いておくところ。
  • id_rsa
    • permission : 600
    • 秘密鍵
    • 誰にも渡しちゃダメ。
  • id_rsa.pub
    • permission : 600(一応、600。どうせ消すのでなんでもいい。)
    • 公開鍵
    • 登録するすべてのサーバーの authorized_keys に内容を追記。
    • authorized_keys に登録後はこの世から抹消してよい。
    • 必要になったらまた id_rsa から作れる。
  • authorized_keys
    • permission : 600
    • 登録された id_rsa.pub の内容が記載される。
  • ~/.ssh/config
    • permission : 600
    • ssh接続の設定を保存しておく。

秘密鍵・公開鍵の作成

クライアント、サーバーのどちらで作ってもよいがクライアント側で作成した方が無難?
サーバー側で作成したら削除するのが普通。

$ mkdir -p ~/.ssh
$ chmod 700 ~/.ssh
$ ssh-keygen -t rsa -b 4096 -C "<COMMENT>" -f ~/.ssh/id_rsa
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): ←何も入力しないのもあり
Enter same passphrase again:
Your identification has been saved in <ID_RSA_PATH>
Your public key has been saved in <ID_RSA.PUB_PATH>
The key fingerprint is:
SHA256:<NANIKA_MOJIRETSU>
The key's randomart image is:
+---[RSA 4096]----+ ←適当なこんなのが表示される
|  o  o           |
|      oo         |
|           ..o   |
| o   .oo.        |
|   . .o  o . +o  |
| .o      . * o.+ |
|oo      o o = .. |
| .*=   + .  oo   |
| .*        o=  +o|
+----[SHA256]-----+

$ chmod 600 ~/.ssh/id_rsa
$ chmod 600 ~/.ssh/id_rsa.pub

サーバーの設定

$ mkdir -p ~/.ssh
$ chmod 700 ~/.ssh

scp なりなんなりで authorized_keys を ~/.ssh/. に配置

$ cat ~/.ssh/id_rsa.pub >> authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
$ rm ~/.ssh/id_rsa.pub

登録するサーバーの数だけこれを繰り返す。

クライアントの設定

$ mkdir -p ~/.ssh
$ chmod 700 ~/.ssh

scp なりなんなりで id_rsa を ~/.ssh/. に配置

秘密鍵から公開鍵を作成

$ ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub
$ chmod 600 ~/.ssh/id_rsa.pub

秘密鍵と公開鍵の認証で ssh ログインするための設定

$ vim /etc/ssh/sshd_config

以下のように修正

PasswordAuthentication no
sshのログイン時にidとpasswordでのログインを認めない。(秘密鍵を使った認証しか認めない。)

PermitEmptyPasswords no
空のパスワードを認めない。秘密鍵のパスワードは空でもOK。

ChallengeResponseAuthentication no
チャレンジレスポンス認証を認めない。これを yes にすると PasswordAuthentication no にした意味がなくなる。

あとは通常デフォルト値で問題ないはず。

~/.ssh/config

$ touch ~/.ssh/config
$ chmod 600 ~/.ssh/config
$ vim ~/.ssh/config
Host <NANTOKAKANTOKA>
    HostName <domain.com>
    IdentityFile <ID_RSA_PATH>
    User <USER_NAME>
    TCPKeepAlive yes
    Port <PORT>