2019-01-12_ssh鍵認証の設定
このページでわかること
必要なファイル類
名称 |
種別 |
権限 |
.ssh |
D |
700 |
id_rsa (秘密鍵) |
F |
600 |
id_rsa.pub (公開鍵) |
F |
600 |
authorized_keys (公開鍵) |
F |
600 |
ssh鍵認証の設定方法
手動での方法設定
【接続先サーバー】で実行
1
2
3
4
5
6
7
8
9
10
11
12
13
14 | ##c ディレクトリ生成
$c mkdir -m 700 ~/.ssh
$c cd ~/.ssh
##c 鍵ファイルを作成する
##c 4096bitの暗号化強度で作成
##c コマンド投下後、Enterを3回押下でファイル名id_rsaでパスワード非設定で作成
$c ssh-keygen -t rsa -b 4096
##c authorized_keysを作成
$c cat id_rsa.pub >> authorized_keys && chmod 600 authorized_keys
##c 作成した秘密鍵はscpなどで接続元に転送しサーバ内からは削除。
##c なお複数サーバー間で同じユーザーで相互接続をする場合は秘密鍵がお互いに必要なので残しておく。
|
ssh-copy-idコマンドを使う
前提条件を満たしているならこちらの方法が簡単です。
- 前提条件:
- 接続先ホストにパスワード認証でログインできること
- 接続先ホストのユーザーにパスワードが設定されていること
1
2
3
4
5
6
7
8
9
10
11
12 | ##c ディレクトリ生成
$c mkdir -m 700 ~/.ssh
$c cd ~/.ssh
##c 鍵ファイルを作成する
##c 4096bitの暗号化強度で作成
##c コマンド投下後、Enterを3回押下でファイル名id_rsaでパスワード非設定で作成
$c ssh-keygen -t rsa -b 4096
##c 公開鍵を接続先ホストにコピー
##c パスワード要求があったら接続先で指定しているパスワードを入力
$c ssh-copy-id ${user}@${target_host}
|
参考: 作成時ログ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 | $c ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/home/testuser/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/testuser/.ssh/id_rsa.
Your public key has been saved in /home/testuser/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:tF8RPmpMcpwCeDMQ5nB2wTWSKDikK57mNrWGeu7mtFk testuser@dev
The key's randomart image is:
+---[RSA 4096]----+
|.o. **=+o . |
|+ .*o.*o o o . |
|.. ... o+ = + |
| . . B . o |
|o S + . |
|o .. o . |
| ++ E . |
|o=o* |
|+BO |
+----[SHA256]-----+
|
参考: 秘密鍵から公開鍵の作成
たまに公開鍵ファイルがなくなったり……
$c ssh-keygen -yf ${key_file}